并行计算PC机群的构建 随着计算机硬件技术的高速发展,处理器和网络的性能不断地迅速提高和价格的日益下 降,使得并行计算日益从传统的超级计算平台转移到由一组髙性能节点或工作站/PC机构 成的称之为机群的计算平台上,从而机群成为构建可扩放并行计算机的一大趋势。机群在计 算机界有很多称呼,其中松耦合的工作站/PC机群也被称为工作站机群COW( Cluster of Workstation)或工作站网络NoW( Network of Workstation);而紧耦合的高性能服务器节 点机群也被称为构筑高端大规模并行机的机群系统(如SP2和 Option red)。 本文将主要从PC机群软、硬件环境的选择及配置出发给出一个逐步的PC机群构建手册 以使广大的科研工作者能够更为方便的在PC机群环境中开展自己的工作 并行计算机群是目前由于硬件的时效性很强,所以给出例子的意义并不是很大。我们这 里给出一套配置主要是为了以后叙述的方便,读者应该根据当前最新的硬件信息进行选择。 1Pc机群硬件部件的选择 在PC机群的构建过程中,硬件部件应根据所要部署应用的类型又针对性的加以选择, 具体原则请参见《并行算法实践》第22节(硬件的选择与安装)。本文沿用该章所给出的 示例配置,如下: 该PC机群包括1个服务节点(兼作计算节点)和63个计算节点。 (1)服务节点配置: CPU: PentiumⅣ2.0G(512KB全速二级缓存) 内存:1G(2×512M) Rambus 硬盘:80 GB IDE 主板: ASUS P4 T Socket423 网卡:3com905-1X(两个) 显卡、显示器、键盘、鼠标、光驱、软驱:略 (2)计算节点配置 CPU: PentiumⅣ1.5G(512KB全速二级缓存) 内存:512MB(2×256M) Rambus 硬盘:40 GB IDE 主板: ASUS P4 T Socket423 网卡:3com905-TX 另外,交换设备由2个3com3c16980和1个3com3c16985的交换机通过一个 matrIx module堆叠而成,并安装了一个千兆光纤模块,以备服务接点连接内部机群的网卡升级为 千兆网卡 据此配置清单,从市场上采购硬件并连接成功后便可以开始机群软件环境的配置。 2Pc机群软件环境的配置 如《并行算法实践》第22节(软件的选择与安装)本节将主要讲述如何在Linu环境 下构建并行计算PC机群的软件环境。 21Os的选择与安装 Linux是目前构建高性能计算机群的一个最佳的选择。在众多的 Linux发行版本中,还要
并行计算 PC 机群的构建 随着计算机硬件技术的高速发展,处理器和网络的性能不断地迅速提高和价格的日益下 降,使得并行计算日益从传统的超级计算平台转移到由一组高性能节点或工作站/PC 机构 成的称之为机群的计算平台上,从而机群成为构建可扩放并行计算机的一大趋势。机群在计 算机界有很多称呼,其中松耦合的工作站/PC 机群也被称为工作站机群 COW(Cluster of Workstation)或工作站网络 NOW(Network of Workstation);而紧耦合的高性能服务器节 点机群也被称为构筑高端大规模并行机的机群系统(如 SP2 和 Option Red)。 本文将主要从PC机群软、硬件环境的选择及配置出发给出一个逐步的PC机群构建手册, 以使广大的科研工作者能够更为方便的在 PC 机群环境中开展自己的工作。 并行计算机群是目前由于硬件的时效性很强,所以给出例子的意义并不是很大。我们这 里给出一套配置主要是为了以后叙述的方便,读者应该根据当前最新的硬件信息进行选择。 1 PC 机群硬件部件的选择 在 PC 机群的构建过程中,硬件部件应根据所要部署应用的类型又针对性的加以选择, 具体原则请参见《并行算法实践》第 2.2 节(硬件的选择与安装)。本文沿用该章所给出的 示例配置,如下: 该 PC 机群包括 1 个服务节点(兼作计算节点)和 63 个计算节点。 (1)服务节点配置: CPU:Pentium Ⅳ 2.0G(512KB 全速二级缓存) 内存:1G(2512M)Rambus 硬盘:80GB IDE 主板:ASUS P4T Socket 423 网卡:3com 905 –TX(两个) 显卡、显示器、键盘、鼠标、光驱、软驱:略 (2)计算节点配置: CPU:Pentium Ⅳ 1.5G(512KB 全速二级缓存) 内存:512MB(2256M) Rambus 硬盘:40GB IDE 主板:ASUS P4T Socket 423 网卡:3com 905 –TX 另外,交换设备由 2 个 3com 3c16980 和 1 个 3com 3c16985 的交换机通过一个 matrix module 堆叠而成,并安装了一个千兆光纤模块,以备服务接点连接内部机群的网卡升级为 千兆网卡。 据此配置清单,从市场上采购硬件并连接成功后便可以开始机群软件环境的配置。 2 PC 机群软件环境的配置 如《并行算法实践》第 2.2 节(软件的选择与安装)本节将主要讲述如何在 Linux 环境 下构建并行计算 PC 机群的软件环境。 2.1 OS 的选择与安装 Linux是目前构建高性能计算机群的一个最佳的选择。在众多的Linux发行版本中,还要
考虑的是系统管理工具的友好性,这一点 Redhat与Suse的工作是成功的;同时系统功能的可 裁剪性也是很重要的,如 Debian系统在这一点上做的就非常出色 在此笔者建议对 Linux系统有比较深入认识的读者可选用 Debian作为系统平台,因为De bian能够根据用户的需要最精确的选择安装、更新相应的软件包,避免过多的冗余服务占用 系统资源,最大限度的满足用户对性能的要求:若是 Linux系统的入门者则选用 Redhat或Su se较为合适,因为这些发行版本提供了较为友好的用户安装、使用界面,并且配备了图形化 的系统管理工具,避免了众多的命令行操作。 在所创建的示例机群中使用的是 Redhat9.0版本(内核2.4.28)。介绍 Linux系统具体安 装的书籍有很多,这里就不再敷述。 安装过程中请选择“定制”,并在“选择软件包组”时在默认的基础上选中【服务器】 【网络服务器】( telnet- server、rsh- server)、【服务器】|【服务器配置工具】(NFS等服 务器配置工具)、【开发】|【开发工具】(gcc等基本开发工具)、【系统】|【管理工具】(图 形化的系统管理工具)等软件包组。 操作系统安装完毕后,我们假设具有如下信息: 服务节点主机名为“node0”,IP地址为“192.168.0.100”;计算节点相应的主机名为 de[1..63]”,IP地址为“192.168.0.[1.63]”。 22单一登录( Single sign On)的构建 用户可以从机群系统的任何一个节点登录,而且在整个作业执行过程中只需登录一次 不必为将作业指派到机群中的其它节点而重新登录。这里我们采用《并行算法实践》中所介 绍的第二种方法“构建用户管理脚本”来维护系统中用户信息的一致性,使用户不再重复输 入密码即可登录到机群中的另一个节点上。这包括以下步骤 1.以root用户登录到节点node0,修改文件/ etc/hosts、/ etc/host equiv,在其中写入机 群所有节点的名称和IP
考虑的是系统管理工具的友好性,这一点Redhat与Suse的工作是成功的;同时系统功能的可 裁剪性也是很重要的,如Debian系统在这一点上做的就非常出色。 在此笔者建议对Linux系统有比较深入认识的读者可选用Debian作为系统平台,因为De bian能够根据用户的需要最精确的选择安装、更新相应的软件包,避免过多的冗余服务占用 系统资源,最大限度的满足用户对性能的要求;若是Linux系统的入门者则选用Redhat或Su se较为合适,因为这些发行版本提供了较为友好的用户安装、使用界面,并且配备了图形化 的系统管理工具,避免了众多的命令行操作。 在所创建的示例机群中使用的是Redhat 9.0版本(内核2.4.28)。介绍Linux系统具体安 装的书籍有很多,这里就不再敷述。 安装过程中请选择“定制”,并在“选择软件包组”时在默认的基础上选中【服务器】| 【网络服务器】(telnet-server、rsh-server)、【服务器】|【服务器配置工具】(NFS等服 务器配置工具)、【开发】|【开发工具】(gcc等基本开发工具)、【系统】|【管理工具】(图 形化的系统管理工具)等软件包组。 操作系统安装完毕后,我们假设具有如下信息: 服务节点主机名为“node0”,IP地址为“192.168.0.100”;计算节点相应的主机名为“n ode[1..63]”,IP地址为“192.168.0.[1..63]”。 2.2 单一登录(Single Sign On)的构建 用户可以从机群系统的任何一个节点登录,而且在整个作业执行过程中只需登录一次, 不必为将作业指派到机群中的其它节点而重新登录。这里我们采用《并行算法实践》中所介 绍的第二种方法“构建用户管理脚本”来维护系统中用户信息的一致性,使用户不再重复输 入密码即可登录到机群中的另一个节点上。这包括以下步骤: 1. 以 root 用户登录到节点 node0,修改文件/etc/hosts、/etc/host.equiv,在其中写入机 群所有节点的名称和 IP
km的主目录「文件编E查石y终端卫转到G帮助出 [rootanode0 root]# vi /etc/hosts 从这里开始 θ公恩色 root node 0 1月02 图 hn的主目录文件编辑B查看y终端D转到帮助 D not renove the fol lowing line ar ious program 127.0.0.1 loca lhos t loca ldom in loca lhos 从这里开始 192.168,0,100node0 回收站 92.168,0,3nod 192.168.0.4 92.168,0,5node5 192.168,0.7 92.168.0.1 192.168.0.15 nodel5 192,168,0,16 node l6
图 1
图2 an的主目录l 文件E编辑E查看(终①转到G帮助 [root@node0 root]# vi /etc/hosts 从这里开始 [@@node0 root]: vi /etc/hosts.equivl 回收站 ot node0; 图3
图 2 图 3
shan的主目录文件E编辑E查看终端①转到G帮助 w2 从这里开女 oleg node 19 node22 root Lnodleo: 图4 2.修改系统的服务设置,通过服务设置工具启动如下系统服务:nts、 rexec、rsh、 rlogin 其中后面三个服务是与 Remote Shell相关的,负责在远程节点启动进程
图 4 2. 修改系统的服务设置,通过服务设置工具启动如下系统服务:nfs、rexec、rsh、rlogin。 其中后面三个服务是与 Remote Shell 相关的,负责在远程节点启动进程
Ishan的主目录 文件P)编辑E查看终端①转到G帮助田 互联网 [roo t@hode0 root]# vi /etc/hosts.equ ivl 感办公 国声音和视频 系统工具 系统设置豆 服务器设置 gHmP服务器 编程 Printing NFS服务器 声卡检测 的Samh服务器 首选项,安全级别 域名服务 主交什②日期医时间⊙ g ure which services will be running when the sys 网络服务器 添加/删除应用程序 C运行程序 日用户和组群 区查找文件 登录屏幕 打开最近的 锁住屏幕 ⊙键盘 A口 root O: 02日 图 服务鸟置 凹x 文件卫行动△编辑运行级别E帮助出 刷新服务列表R 保存改变S 乡还原到上一次保存山aH向:5 退出Q is the server for the rcmd 3) routine and rsk1) program. The server provides remote execution facilities with authentication based on privileged port numbers from trusted hosts. random ou must enable xinetd to use this service xied服务 a rlogin sasbauthd 服务配置
图 5
图6 3.经过上述设置后需以普通用户身份测试RSH是否配置成功,运行命令如图7所示 对于root用户需要经过图8所示的配置才可以不重新输入密码即可以通过RSH登 录远程节点 x 辑E查看(V终端①转到G帮助① [root@ode0root】 tc/hosts Roo t@node0 root]* vi /etc/hosts equiv 从这里开始[ro1hode0 root# su-g Igue s t@node0 guest]s rsh node0 Las t log in: Sun Jan 2 12: 27: 26 from node 0 odeO guestIs 回收站 昌 guest'anode0 图
图 6 3. 经过上述设置后需以普通用户身份测试 RSH 是否配置成功,运行命令如图 7 所示。 对于 root 用户需要经过图 8 所示的配置才可以不重新输入密码即可以通过 RSH 登 录远程节点。 图 7
an的主目录clom 文件①编辑E查看(V终①转到G [roo thode root]a echo re > etc/secur 从这里开始 [ t(node0 root]# echo 'rsh>>/e te/secure ty Las t log in: Sun Jan 2 12: 49: 52 from node0 [roo t@node0 θ公恩色 图8 4.通过图9所示的脚本即可以完成创建全局统一的用户信息。该脚本首先在本节点新 增用户,然后通过RSH将用户配置文件 /etc/passwd复制到机群中所有其余的节点 图9中建立了全局用户 cluster
图 8 4. 通过图 9 所示的脚本即可以完成创建全局统一的用户信息。该脚本首先在本节点新 增用户,然后通过 RSH 将用户配置文件/etc/passwd 复制到机群中所有其余的节点。 图 9 中建立了全局用户 cluster
Ishan的主目录 文件编辑E查看V终端①转到G帮助田 r log in: connect ion closed 从这里开始 #!/b in/sh if【-z$ echo Usage: clus teruser username ### add a user and set its passwd ssl s1 ##s copy the user config files to o ther node s while si-It 63 i- expr $i+I echo copy config files to nodeS rep /e te/passwd node si: /e te/passwd rep /etc/group node si: /etc/grou Iroo tunode0 root]# . /cluster user, sh cluste 当θ公恩色 root node 0 1月02日 图9 23单一文件系统( Single File System)的构建 NFS是一种 Unix/Linux之间通过网络共享文件的标准方式。使用NFS,就能够透明的 安装和访问网络上远程主机的文件系统,将其安装( mount)在本地的文件系统中,类似于 Windows下的映射驱动器。在示例机群中,节点node0是服务器,把目录/home和/ cluster 进行共享;节点 nodel到node3是客户端,把服务器的home和 cluster安装到自己的文件 系统当中。下面分别进行讨论 1.首先在节点node0上建立目录/ cluster,然后将该目录授权给用户 cluster
图 9 2.3 单一文件系统(Single File System)的构建 NFS 是一种 Unix/Linux 之间通过网络共享文件的标准方式。使用 NFS,就能够透明的 安装和访问网络上远程主机的文件系统,将其安装(mount)在本地的文件系统中,类似于 Windows 下的映射驱动器。在示例机群中,节点 node0 是服务器,把目录/home 和/cluster 进行共享;节点 node1 到 node63 是客户端,把服务器的/home 和 cluster 安装到自己的文件 系统当中。下面分别进行讨论: 1. 首先在节点 node0 上建立目录/cluster,然后将该目录授权给用户 cluster
an的主目录clom 文件卫)编辑E查看(V终端①转到G)帮助田 e0 root]# nkd ir /elus ter [roo t@hode0 root]# chown clus ter: cluster /clus ter/ 从这里开始ro0aode0ro0is-an/ e luster 2 cluster cluster 4096 4096 [rootonode0 root]= θ公恩色 1月02日 13:58 2.可以通过如图11所示的服务器设置工具配置共享目录,也可以通过图12-13所示 的直接修改 /etc/exports文件改变目录的共享。图13表示将目录/home和 /cluster以 可读可写的方式共享给192.16800/24范围(IP从192.1680.1到1921680.254)内 的所有机器
图 10 2. 可以通过如图 11 所示的服务器设置工具配置共享目录,也可以通过图 12-13 所示 的直接修改/etc/exports 文件改变目录的共享。图 13 表示将目录/home 和/cluster 以 可读可写的方式共享给 192.168.0.0/24 范围(IP 从 192.168.0.1 到 192.168.0.254)内 的所有机器