论文部分内容阅读
一、集群的分类介绍
1.故障迁移集群
最简单的故障迁移集群有两个节点:一个节点是活动的,另外一个节点是备用的,不过它会一直对活动节点进行监视。一旦活动节点出现故障,备用节点就会接管它的工作,这样就能使得关键的系统能够持续工作。
2.负载均衡集群
负载均衡集群通常会在非常繁忙的 Web 站点上采用,它们有多个节点来承担相同站点的工作,每个获取 Web 页面的新请求都被动态路由到一个负载较低的节点上。
3.高性能集群
高性能集群用来运行那些对时间敏感的并行程序,它们对于科学社区来说具有特殊的意义。高性能集群通常会运行一些模拟程序和其他对 CPU 非常敏感的程序,这些程序在普通的硬件上运行需要花费大量的时间。
往往又把前面两种方式的集群称之为高可用性集群,他们能够提供不间断的服务。例如有许多应用程序都必须一天二十四小时地不停运转,如所有的web服务器、ATM、医学与军事监测仪以及股票处理机等。对这些应用程序而言,暂时的停机都会导致数据的丢失和灾难性的后果。而高性能集群通过将多台机器连接起来同时处理复杂的计算问题。模拟星球附近的磁场、预测自然灾害的隐患出现、定位石油资源的储藏地等情况都需要对大量的数据进行处理。
二、集群的条件
至少有两个系统,这里用了windows下的虚拟机安装两个Linux来作为主从节点来实现。
工作站中间能实现通信,利用高速的局域网来构成一个并行的计算平台。
三、构造一个简单的Linux集群实现
1.Linux环境的配置。对于我们的集群,要使用MPICH作为 MPI1实现和一组普通的 Linux 工作站。我们主要是突出其中的基本原理为目的,构建最小的系统,在集群环境中使用它来运行并行程序。同时实验是在基于windwos下的两个 VMware 映像来做的,可能算不上真正的集群。使用Vmware下集群,因为 CPU 需要进行共享,在性能上不会有优势。首先安装windwos下的Linux虚拟机。
注意:同时安装的时候注意相关的服务的开启,防火墙的设置,在vm下安装完Linux系统,配置好相关的参数环境。设置网络,至少能够使用机器名相互 ping 通。这些在下面要设置,最好在系统安装前完成。
2.安装 GNU C 编译器和 GNU FORTRAN 编译器。 当然这步应该最好在Linux初始安装时候完成,没有初始安装的,通过服务设置,也可以x-window 可视话或者命令来设置启用相关的服务。主要用于对后面的并行计算程序进行编译运行。
3.修改/etc/hosts文件,将所有节点名称及其ip地址填入。
修改(或创建)/etc/hosts.equiv文件。
使用nfs共享文件实现集群机对共享文件的访问权。
修改~/.bash_profile文件 (在安装mpi后更改)。
配置ssh。
安装以后,应该保证各节点之间能够用ssh相互登录。每个节点的sshd都应该能正常提供服务。
4.接下来,我们将安装 MPICH。下载最新的MPICH,拷贝到一个临时目录下,解压,编译,安装。
5.要让 MPICH 知道所有的节点。请编辑文件 /tmp/mpich-1.x.x /util/machines/machines.LINUX,并将所有节点的主机名添加到这个文件中,这样安装的 MPICH 就可以知道所有的节点了。
6.将目录/mpich-1.x.x 拷贝到集群中的所有节点上。
7.在 examples 中运行几个测试程序:
现在集群已经准备好了!正如我们可以看到的一样,所有的重头戏都可以留给 MPI 实现来完成。正如前面介绍的一样,这是一个裸集群,所需的大部分手工工作只是确保机器之间可以彼此进行通信(我们配置了 ssh,MPICH 是手工拷贝的,等等)。
以设定的用户登录,将mpich-1.x.x /examples/basic/fpi.f文件拷贝到~/mpi/mirror下,编译:
mpicc -o cpi cpi.c
mpirun -np 2 cpi
这里采用2个节点进行计算。进行ssh连接后,程序等待输入,这时可以在节点机上用命令: ps -A | grep aout
查看进程,应该能看到数个fpi进程,其中第一个是本机所执行的进程,其它的是异地进程镜像。在sea上输入一个整值,再次在各节点上执行 ps -A | grep a.out
可以发现计算时间在不断增长,表明计算的确是在多台主机上同时进行的。 至此,整个安装配置过程结束。
四、并行计算设计
在并行计算中,由于并行算法可以对性能产生重大的影响,因此受到广泛的重视,并行算法也成为一个专门的十分活跃的研究领域,并行算法设计也是并行程序设计的前提。
当然,目前的进行的实验只能说是最基本的裸机的实验。要对集群进行真正的应用还远远不够,对Linux集群管理,如何有效地实现简单而高可维护行的linux集群,这需要使用另外的集群软件来进行。
1.故障迁移集群
最简单的故障迁移集群有两个节点:一个节点是活动的,另外一个节点是备用的,不过它会一直对活动节点进行监视。一旦活动节点出现故障,备用节点就会接管它的工作,这样就能使得关键的系统能够持续工作。
2.负载均衡集群
负载均衡集群通常会在非常繁忙的 Web 站点上采用,它们有多个节点来承担相同站点的工作,每个获取 Web 页面的新请求都被动态路由到一个负载较低的节点上。
3.高性能集群
高性能集群用来运行那些对时间敏感的并行程序,它们对于科学社区来说具有特殊的意义。高性能集群通常会运行一些模拟程序和其他对 CPU 非常敏感的程序,这些程序在普通的硬件上运行需要花费大量的时间。
往往又把前面两种方式的集群称之为高可用性集群,他们能够提供不间断的服务。例如有许多应用程序都必须一天二十四小时地不停运转,如所有的web服务器、ATM、医学与军事监测仪以及股票处理机等。对这些应用程序而言,暂时的停机都会导致数据的丢失和灾难性的后果。而高性能集群通过将多台机器连接起来同时处理复杂的计算问题。模拟星球附近的磁场、预测自然灾害的隐患出现、定位石油资源的储藏地等情况都需要对大量的数据进行处理。
二、集群的条件
至少有两个系统,这里用了windows下的虚拟机安装两个Linux来作为主从节点来实现。
工作站中间能实现通信,利用高速的局域网来构成一个并行的计算平台。
三、构造一个简单的Linux集群实现
1.Linux环境的配置。对于我们的集群,要使用MPICH作为 MPI1实现和一组普通的 Linux 工作站。我们主要是突出其中的基本原理为目的,构建最小的系统,在集群环境中使用它来运行并行程序。同时实验是在基于windwos下的两个 VMware 映像来做的,可能算不上真正的集群。使用Vmware下集群,因为 CPU 需要进行共享,在性能上不会有优势。首先安装windwos下的Linux虚拟机。
注意:同时安装的时候注意相关的服务的开启,防火墙的设置,在vm下安装完Linux系统,配置好相关的参数环境。设置网络,至少能够使用机器名相互 ping 通。这些在下面要设置,最好在系统安装前完成。
2.安装 GNU C 编译器和 GNU FORTRAN 编译器。 当然这步应该最好在Linux初始安装时候完成,没有初始安装的,通过服务设置,也可以x-window 可视话或者命令来设置启用相关的服务。主要用于对后面的并行计算程序进行编译运行。
3.修改/etc/hosts文件,将所有节点名称及其ip地址填入。
修改(或创建)/etc/hosts.equiv文件。
使用nfs共享文件实现集群机对共享文件的访问权。
修改~/.bash_profile文件 (在安装mpi后更改)。
配置ssh。
安装以后,应该保证各节点之间能够用ssh相互登录。每个节点的sshd都应该能正常提供服务。
4.接下来,我们将安装 MPICH。下载最新的MPICH,拷贝到一个临时目录下,解压,编译,安装。
5.要让 MPICH 知道所有的节点。请编辑文件 /tmp/mpich-1.x.x /util/machines/machines.LINUX,并将所有节点的主机名添加到这个文件中,这样安装的 MPICH 就可以知道所有的节点了。
6.将目录/mpich-1.x.x 拷贝到集群中的所有节点上。
7.在 examples 中运行几个测试程序:
现在集群已经准备好了!正如我们可以看到的一样,所有的重头戏都可以留给 MPI 实现来完成。正如前面介绍的一样,这是一个裸集群,所需的大部分手工工作只是确保机器之间可以彼此进行通信(我们配置了 ssh,MPICH 是手工拷贝的,等等)。
以设定的用户登录,将mpich-1.x.x /examples/basic/fpi.f文件拷贝到~/mpi/mirror下,编译:
mpicc -o cpi cpi.c
mpirun -np 2 cpi
这里采用2个节点进行计算。进行ssh连接后,程序等待输入,这时可以在节点机上用命令: ps -A | grep aout
查看进程,应该能看到数个fpi进程,其中第一个是本机所执行的进程,其它的是异地进程镜像。在sea上输入一个整值,再次在各节点上执行 ps -A | grep a.out
可以发现计算时间在不断增长,表明计算的确是在多台主机上同时进行的。 至此,整个安装配置过程结束。
四、并行计算设计
在并行计算中,由于并行算法可以对性能产生重大的影响,因此受到广泛的重视,并行算法也成为一个专门的十分活跃的研究领域,并行算法设计也是并行程序设计的前提。
当然,目前的进行的实验只能说是最基本的裸机的实验。要对集群进行真正的应用还远远不够,对Linux集群管理,如何有效地实现简单而高可维护行的linux集群,这需要使用另外的集群软件来进行。