资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
并行环境安装与调试 本文讲解的是基于Red Hat Enterprise Linux 4为平台的高性能计算集群安装与调试,假设你使用过Red Hat Enterprise Linux 4并且理解了高性能计算的原理,所以本文稿的重点讲解如何安装与调试,关于高性能计算的原理请自行查阅相关的资料。 你可以拒绝学习 但你的竞争对手不会-杰克.韦尔奇QQ:11217404MAIL:pcstart126.com特洛伊整理,转载请保留,前言LINUX集群中的每个节点都有自己的处理器和内存,运行独立的操作系统,不能直接访问其他节点的处理器,内存或其他设备。而MPI环境却要求这样的访问,这就需要内部网络和协议的支持。首先,每个节点要能互访,需进行基本网络配置;其次,由于并行计算的特点,每个节点的计算程序是通常是相同的,只是所分配的计算区间不同。这就需要:(1)高效率的用户身份验证方法,并且能执行用户发出的计算指令。(2)每个计算节点能够使用载入同一个计算程序,并能进行相应初始化。对于第一个要求,可通过网络信息服务(NIS)和SHELL命令服务(RSH、SSH)实现。对于第二个要求,可以使用Linux的NFS文件系统实现,将服务器节点的用户文件让所有计算共享。所以NIS、NFS、RSH、SSH是集群的基本网络服务。1网络信息服务(NIS)NIS是一个简单的客户机/服务器数据库系统,提供一个简易网络查询服务。NIS是网络信息系统的简称,包含了网络用户的信息,由数据库与处理程序构成,目的是为网络上所有机器提供所需信息。数据库建立在服务器上,用于统一管理集群中服务器和节点机的用户信息,使得一个用户可以登入集群中任何一台节点机,而不需要管理员另外为用户在每台节点机上设置用户和密码。虽然NIS存在一定的安全隐患,但在内部网络,安全问题不大。2远程SHELL命令(RSH、SSH)基于MPI的并行计算需要在每个计算节点启动并行计算任务,用户需要登入每个节点,然后递交计算任务。不过这通常效率比较低,那么,高效的做法是,不需要登入远程机器,就可以在远程机器上启动并递交计算任务,而RSH与SSH提供了这样的机制。MPI安装于服务器节点,其启动命令包含有在每个可供使用的节点机上启动计算的批处理命令。NIS为节点机接受这样的命令提供身份验证机制,但是,远程SHELL命令需要由程序来发出和响应。RSH与SSH就是这样的程序。命令执行之前,节点机检查服务器是否有权限发出这样的命令。之后,节点机通过/etc/hosts.equiv文件对服务器IP做可信赖检查,通过检查,就命令执行;没通过,则需口令才能执行命令。对于集群来说,做的是高效率的并行计算,无口令登入,无疑带来了更高的计算效率。 3网络文件系统(NFS)并行任务启动时,需要所有节点都能载入并行计算程序的执行代码。并行计算程序执行代码文件、输入输出数据文件等必须让所有节点机共享,这可以通过NFS实现,用户在任何节点登入,看到的是单一系统印象,感觉不到多台计算机的存在。微机集群一般通过NFS来实现文件共享。NFS是一个可靠的协议,提供服务过程中不保留信息,客户机出现问题,并不影响服务器。虽然NFS也存在比较大的安全隐患,但在内部网络,问题就不明显了。 4MPICH并行环境MPICH是Linux平台下最重要的一种MPI实现,是一个与MPI规范同步发展的版本。每当MPI标准推出新的版本时,MPICH就会有相应的实现版本。MPICH是一个MPI的库,它提供了不同版本MPI的库结构,编程人员可以使用MPICH来使用这些MPI接口,以便写出适合自己的基于消息传递的并行程序。编程人员使用C 或者是Fortran语言来调用这些标准库,实现程序的并行性。MPICH使用的是MPI标准,所以它开发的程序可移植性很强,而且它提供统一的编程接口,所以程序的可开发性很强。本次测试就是MPICH的基础实现的,所以我们将介绍如何的安装和使用MPICH具体安装步骤如下(以两节点集群为例): 集群中各节点所安装的系统为Red Hat Enterprise Linux 4 U3 32bit,在安装操作系统时,预安装所有软件包,以免以后用到的软件在重新安装带来的麻烦,在安装服务器和节点机操作系统时,设置服务器和节点机的主机名分别为:node1,node2;其中node1充当服务器兼管理节点和I/O节点,node2充当计算节点。node1的IP为:eth0:192.168.0.1 eth1:172.16.0.1node2的IP为: eth0:192.168.0.2 eth1:172.16.0.2配置完成后,可以用机群部署系统软件(曙光DCIS)把node2的系统镜像分发到其它计算节点上。NIS配置在一个大型的网域当中,如果有多部 Linux 主机时,万一要每部主机都设定相同的账号与密码的设定,还真是啰唆。所以,适时的使用一部主要主机 ( master server ) 管理网域中的所有账号,其它的主机则使用这部主要主机提供的账号与密码来达成让使用者登入的作用即可!这样的功能有很多的服务器软件可以达成,这里我们要介绍的则是 Network Information Services, NIS server 这个服务器软件!NIS服务器具体配置1安装NIS服务默认配置安装的RedHat,其安装程序会将NIS服务安装在系统上,在RedHat中我们只需使用下面的命令检查系统是否已经安装了NIS服务:rootnode1 # rpm -qa |grep yp如果系统显示有如下软件包,表示NIS服务已经正确安装yp-tools-2.8-1ypserv-2.8-1ypbind-1.12-1否则表示还没有安装NIS服务,在RedHat AS 4的第1张与第2张安装光盘的/RedHat/RPMS目录有NIS服务器的RPM安装包,该安装包的文件名分别为ypserv-2.13-9.i386.rpm,yp-tools-2.8-7.i386.rpm, ypbind-1.17.2-8.i386.rpm 。放入光盘然后进行装载,并使用下面的命令安装:rootnode1 # mount -t iso9660 /dev/cdrom /mnt/cdromrootnode1 # rpm -ivh /mnt/cdrom/RedHat/RPMS/ypserv-2.13-9.i386.rpmrootnode1 # rpm -ivh /mnt/cdrom/RedHat/RPMS/yp-tools-2.8-7.i386.rpm rootnode1 # rpm -ivh /mnt/cdrom/RedHat/RPMS/ypbind-1.17.2-8.i386.rpm注意:要提供NIS服务,必须安装portmap服务,并且portmap服务是运行的,查看是否安装与安装方法同上,RedHat默认会安装portmap服务。2配置NIS服务(1)启动 portmap 并设定开机时启动:rootnode1 # service portmap startrootnode1 # chkconfig -level 35 portmap on(2)启动 time 与 time-udprootnode1 # vi /etc/xinetd.d/time#将 disable = yes 改成 disable = no 即可!rootnode1 # vi /etc/xinetd.d/time-udp # 同样的将 disable = yes 改成 disable = no 即可! rootnode1 # service xinetd restart rootnode1 # chkconfig -level 35 xinetd onrootnode1 # netstat -utl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:time *:* LISTEN tcp 0 0 *:sunrpc *:* LISTEN udp 0 0 *:time *:* udp 0 0 *:sunrpc *:*目前至少也要有上面四个 LISTEN 的 port 才行喔!分别是 UDP 与 TCP 封包的啦! (3) 建立 NIS 的领域名称 ( nisdomainname )建立 NIS 的领域名称 (我这里是设定为 cluster ): rootnode1 # nisdomainname cluster rootnode1 # vi /etc/rc.d/rc.local # 将底下这一行加入这个档案的最后一行: /bin/nisdomainname cluster 设定好网络参数: rootnode1 # vi /etc/sysconfig/network # 加入底下这一行: NISDOMAIN=cluster(3)建立网络信任群组: rootnode1 # touch /etc/netgroup(4)启动 ypserv 与yppasswdd,并且设定开机时启动:rootnode1 # service ypservstart rootnode1 # service yppasswdd startrootnode1 # chkconfig -level 35 ypserv on rootnode1 # chkconfig -level 35 yppasswdd on(5)制作数据库、并重新启动 ypserv 与 yppasswd :rootnode1 # /usr/lib/yp/ypinit -mAt this point, we have to construct a list of the hosts which will run NIS servers. server.cluster is in the list of NIS server hosts. Please continue to add the names for the other hosts, one per line. When you are done with the list, type a . next host to add: node1 next host to add: =在这里按下ctrl + d跳出 The current list of NIS servers looks like this: node1Is this correct? y/n: y y We need a few minutes to build the da
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号