中科大-并行计算讲义第二讲-PC机群的搭建.ppt

上传人:cl****1 文档编号:569299271 上传时间:2024-07-28 格式:PPT 页数:37 大小:369.36KB
返回 下载 相关 举报
中科大-并行计算讲义第二讲-PC机群的搭建.ppt_第1页
第1页 / 共37页
中科大-并行计算讲义第二讲-PC机群的搭建.ppt_第2页
第2页 / 共37页
中科大-并行计算讲义第二讲-PC机群的搭建.ppt_第3页
第3页 / 共37页
中科大-并行计算讲义第二讲-PC机群的搭建.ppt_第4页
第4页 / 共37页
中科大-并行计算讲义第二讲-PC机群的搭建.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《中科大-并行计算讲义第二讲-PC机群的搭建.ppt》由会员分享,可在线阅读,更多相关《中科大-并行计算讲义第二讲-PC机群的搭建.ppt(37页珍藏版)》请在金锄头文库上搜索。

1、并 行 计 算 中国科学技术大学计算机科学与技术系中国科学技术大学计算机科学与技术系国家高性能计算中心国家高性能计算中心( (合肥合肥) )20032003年年9 9月月PC机群的搭建1.机群系统概述 2.硬件的选择与安装3.软件的选择与安装4.机群系统性能评测 2024/7/282国家高性能计算中心(合肥)机群系统概述 什么是机群?什么是机群? 机群是一组独立的计算机(节点)的集合体,节点间通机群是一组独立的计算机(节点)的集合体,节点间通过高性能的互连网络连接;各节点除了可以作为一个单过高性能的互连网络连接;各节点除了可以作为一个单一的计算资源供交互式用户使用外,还可以协同工作并一的计算资

2、源供交互式用户使用外,还可以协同工作并表现为一个单一的、集中的计算资源供并行计算任务使表现为一个单一的、集中的计算资源供并行计算任务使用。用。 一种造价低廉、易于构筑、并且具有较好可扩放性的并一种造价低廉、易于构筑、并且具有较好可扩放性的并行机体系结构行机体系结构 2024/7/283国家高性能计算中心(合肥)发展迅速的原因 作为机群节点的工作站系统的处理性能越来越强大,更作为机群节点的工作站系统的处理性能越来越强大,更快的处理器和更高效的多快的处理器和更高效的多CPUCPU机器将大量进入市场;机器将大量进入市场; 随着局域网上新的网络技术和新的通信协议的引入,机随着局域网上新的网络技术和新的

3、通信协议的引入,机群节点间的通信能获得更高的带宽和较小的延迟;群节点间的通信能获得更高的带宽和较小的延迟; 机群系统比传统的并行计算机更易于融合到已有的网络机群系统比传统的并行计算机更易于融合到已有的网络系统中去;系统中去; 机群上的开发工具更成熟,而传统的并行计算机上缺乏机群上的开发工具更成熟,而传统的并行计算机上缺乏一个统一的标准;一个统一的标准; 机群价格便宜并且易于构建;机群价格便宜并且易于构建; 机群的可扩放性良好,节点的性能也很容易通过增加内机群的可扩放性良好,节点的性能也很容易通过增加内存或改善处理器性能获得提高。存或改善处理器性能获得提高。 2024/7/284国家高性能计算中

4、心(合肥)重要特征 机群的各节点都是一个完整的系统,节点可以是工作站,机群的各节点都是一个完整的系统,节点可以是工作站,也可以是也可以是PCPC机或机或SMPSMP机器;机器; 互连网络通常使用商品化网络,如以太网、互连网络通常使用商品化网络,如以太网、FDDIFDDI、光、光通道等,部分商用机群也采用专用网络互连;通道等,部分商用机群也采用专用网络互连; 网络接口与节点的网络接口与节点的I/OI/O总线松耦合相连;总线松耦合相连; 各节点有一个本地磁盘;各节点有一个本地磁盘; 各节点有自己的完整的操作系统。各节点有自己的完整的操作系统。 2024/7/285国家高性能计算中心(合肥)分类根据

5、不同的标准,可有多种分类方式 针对机群系统的使用目的可将其分为三类:1.高性能计算机群2.负载均衡机群3.高可用性机群2024/7/286国家高性能计算中心(合肥)典型机群系统Berkeley NOWBeowulf COTS(Commodity off the shelf) LAMP SMPcluster2024/7/287国家高性能计算中心(合肥)PC机群的搭建1.机群系统概述 2.硬件的选择与安装3.软件的选择与安装4.机群系统性能评测 2024/7/288国家高性能计算中心(合肥)硬件的选择与安装节点构建处理器、内存、总线、处理器、内存、总线、 磁盘与磁盘与I/OI/O系统构建 网络适配

6、卡、交换机网络适配卡、交换机机群系统示例 天体物理中心天体物理中心6464个节点个节点PCPC机群机群1 1个服务节点(兼作计算节点)和个服务节点(兼作计算节点)和6363个计算个计算节点节点2024/7/289国家高性能计算中心(合肥)机群系统示例 服务节点配置服务节点配置服务节点配置服务节点配置: CPUCPU:Pentium Pentium 2.0G 2.0G(512KB512KB全速二级缓存)全速二级缓存) 内存:内存:1G1G(2 2 512M512M)RambusRambus 硬盘:硬盘:80GB IDE80GB IDE 主板:主板:ASUS P4T Socket 423 ASUS

7、 P4T Socket 423 网卡:网卡:3com 905 TX3com 905 TX(两个)(两个) 显卡、显示器、键盘、鼠标、光驱、软驱:略显卡、显示器、键盘、鼠标、光驱、软驱:略 计算节点配置:计算节点配置:计算节点配置:计算节点配置: CPUCPU:Pentium Pentium 1.5G 1.5G(512KB512KB全速二级缓存)全速二级缓存) 内存:内存:512MB512MB(2 2 256M256M) RambusRambus 硬盘:硬盘:40GB IDE40GB IDE 主板:主板:ASUS P4T Socket 423 ASUS P4T Socket 423 网卡网卡:3

8、com 905 TX 3com 905 TX 2024/7/2810国家高性能计算中心(合肥)机群系统示例 交换设备由交换设备由2 2个个3com 3c169803com 3c16980和和1 1个个3com 3c169853com 3c16985的的交换机通过一个交换机通过一个matrix modulematrix module堆叠而成,并安装了一堆叠而成,并安装了一个千兆光纤模块,以备服务接点连接内部机群的网卡升个千兆光纤模块,以备服务接点连接内部机群的网卡升级为千兆网卡。级为千兆网卡。 2024/7/2811国家高性能计算中心(合肥)PC机群的搭建1.机群系统概述 2.硬件的选择与安装3

9、.软件的选择与安装4.机群系统性能评测 2024/7/2812国家高性能计算中心(合肥)软件的选择与安装OSOS的选择的选择SSISSI的构建的构建 编程环境的选择编程环境的选择2024/7/2813国家高性能计算中心(合肥)OS的选择WindowsUNIXLinux机群系统示例机群系统示例 RedhatRedhat 7.2 7.2版本(内核版本(内核2.4.102.4.10) 2024/7/2814国家高性能计算中心(合肥)SSI的构建 单一系统映像单一系统映像SSISSI(Single System ImageSingle System Image) 单一系统单一系统单一系统单一系统:尽管

10、系统中有多个处理器,用户仍然把:尽管系统中有多个处理器,用户仍然把整个机群视为一个单一的系统来使用整个机群视为一个单一的系统来使用 单一控制单一控制单一控制单一控制:逻辑上,最终用户或系统用户使用的服:逻辑上,最终用户或系统用户使用的服务都来自只有唯一接口的同一个地方务都来自只有唯一接口的同一个地方 对称性对称性对称性对称性:用户可以从任一个节点上获得机群服务,:用户可以从任一个节点上获得机群服务,也就是说,对于所有节点和所有用户,除了那些对也就是说,对于所有节点和所有用户,除了那些对一般访问权限作保护的服务和功能外,所有机群服一般访问权限作保护的服务和功能外,所有机群服务和功能都是对称的务和

11、功能都是对称的 位置透明位置透明位置透明位置透明:用户不用了解真正执行服务的物理设备:用户不用了解真正执行服务的物理设备的位置的位置 2024/7/2815国家高性能计算中心(合肥)SSI提供的三种服务 单一登录(单一登录(Single Sign OnSingle Sign On) 单一文件管理(单一文件管理(Single File HierarchySingle File Hierarchy) 单一作业管理系统单一作业管理系统(Single Job Management System) (Single Job Management System) 2024/7/2816国家高性能计算中心(合

12、肥)单一登录(Single Sign On)两种方法网络信息系统NIS(Network Information System)Shell脚本(Shell Script)2024/7/2817国家高性能计算中心(合肥)网络信息系统NIS服务器端:服务器端:服务器端:服务器端:设置设置NISNIS域名:域名:在文件在文件/etc/etc/sysconfigsysconfig/network/network中添加如下一行中添加如下一行:NISDOMAIN=NISDOMAIN=PCClusterPCCluster初始化数据库:初始化数据库: 运行运行/ /usr/lib/ypusr/lib/yp目录下

13、的目录下的ypinitypinit命令初始化系统信息数据库:命令初始化系统信息数据库:node0node0# /# /usr/lib/ypinitusr/lib/ypinit m m启动守护进程:启动守护进程:在在/etc/rc.d/rc3.d/etc/rc.d/rc3.d目录下增加两个链接,以便系统在启动时自动目录下增加两个链接,以便系统在启动时自动载入守护进程:载入守护进程:node0node0# # cdcd /etc/rc.d/rc3.d /etc/rc.d/rc3.dnode0node0# # lnln s ./ s ./init.d/ypservinit.d/ypserv S61y

14、pserv S61ypserv node0node0# # lnln s ./ s ./init.d/yppasswddinit.d/yppasswdd S61yppasswd S61yppasswd 2024/7/2818国家高性能计算中心(合肥)网络信息系统NIS客户端:客户端: 在客户节点上(在客户节点上(node1node1到到node63node63)运行)运行setupsetup命令,然命令,然后在出现的对话框中选择后在出现的对话框中选择“ “Authentication Authentication Configuration”Configuration”,选择,选择NISNIS

15、,填入域名,填入域名PCClusterPCCluster以及以及服务器名服务器名node0node0;并在文件;并在文件/etc/etc/passwdpasswd中加入以下一中加入以下一行:行:+ +:0 0 :0 0 :2024/7/2819国家高性能计算中心(合肥)Shell脚本 NISNIS:设置方便,但是采用客户服务器模式,在应用:设置方便,但是采用客户服务器模式,在应用启动的时有可能产生瓶颈。启动的时有可能产生瓶颈。 为了提高性能,我们可以采用为了提高性能,我们可以采用ShellShell脚本的方式来完成脚本的方式来完成同样的工作。同样的工作。 例如,对用户信息的管理,可以创建一个名

16、为例如,对用户信息的管理,可以创建一个名为cluster_usercluster_user的脚本,负责在其所在结点上创建新的用的脚本,负责在其所在结点上创建新的用户,而后再将相关的配置文件(户,而后再将相关的配置文件(/etc/etc/passwdpasswd、/etc/groups/etc/groups)复制到机群系统中所有其它节点,这里)复制到机群系统中所有其它节点,这里要注意的一点是用户的主目录应该建立在全局共享的分要注意的一点是用户的主目录应该建立在全局共享的分区中(区中(NFSNFS共享)。对其它的一些信息,比如共享)。对其它的一些信息,比如/etc/hosts/etc/hosts和

17、和/etc/etc/host.equivhost.equiv等文件可同样处理。等文件可同样处理。2024/7/2820国家高性能计算中心(合肥)单一文件管理 NFSNFS是一种是一种Unix/LinuxUnix/Linux之间通过网络共享文件的标准之间通过网络共享文件的标准方式。使用方式。使用NFSNFS,就能够透明的安装和访问网络上远,就能够透明的安装和访问网络上远程主机的文件系统,将其安装(程主机的文件系统,将其安装(mountmount)在本地的文件)在本地的文件系统中,类似于系统中,类似于WindowsWindows下的映射驱动器。下的映射驱动器。 示例机群:节点示例机群:节点node

18、0node0是服务器,把目录是服务器,把目录/home/home和和/Cluster/Cluster进行共享;节点进行共享;节点node1node1到到node63node63是客户端,把是客户端,把服务器的服务器的/home/home和和/Cluster/Cluster安装到自己的文件系统当中。安装到自己的文件系统当中。 2024/7/2821国家高性能计算中心(合肥)单一文件管理服务器端:服务器端:(1)(1)启动服务进程:启动服务进程:NFSNFS服务器需要使用守护进程服务器需要使用守护进程nfsdnfsd和和mountdmountd,通,通过在目录过在目录/etc/rc.d/rc3.d

19、/etc/rc.d/rc3.d之下增加链接可以使系统在启动时自动之下增加链接可以使系统在启动时自动载入这两个进程:载入这两个进程:node0node0# # cdcd /etc/rc.d/rc3.d /etc/rc.d/rc3.d node0node0# # lnln s ./ s ./init.d/nfsinit.d/nfs S60nfs S60nfs2024/7/2822国家高性能计算中心(合肥)单一文件管理(2) (2) 设置共享目录:首先,在根目录下建立目录设置共享目录:首先,在根目录下建立目录/home/home和和/Cluster/Cluster。node0node0# # mkd

20、irmkdir home homenode0node0# # mkdirmkdir Cluster Cluster然后,在文件然后,在文件/etc/exports/etc/exports当中增加以下几行。当中增加以下几行。/ /home home node1 (node1 (rwrw) )/Cluster /Cluster node1 (node1 (rwrw) )/ /home home node63 (node63 (rwrw) )/Cluster /Cluster node63 (node63 (rwrw) )这几行的意思是将服务器上的这几行的意思是将服务器上的/home/home和和/

21、Cluster/Cluster目录进行共享,设目录进行共享,设置节点置节点node1node1到到node63node63可以访问,可以访问,rwrw表示允许读和写(缺省为只表示允许读和写(缺省为只读)。这里要注意的一点是所有用到的主机名必须在文件读)。这里要注意的一点是所有用到的主机名必须在文件/etc/hosts/etc/hosts中给出中给出ipip地址,例如:地址,例如:192.168.0.11192.168.0.11node1node12024/7/2823国家高性能计算中心(合肥) 单一文件管理客户端:客户端:客户端:客户端:在文件在文件/etc/etc/fstabfstab当中加

22、入两行:当中加入两行:node0:/homenode0:/home/home/homenfsnfsnode0:/Clusternode0:/Cluster/Cluster/Clusternfsnfs当然,相应的要在文件当然,相应的要在文件/etc/hosts/etc/hosts中给出主机中给出主机node0node0的的ipip地址:地址:192.168.0.10192.168.0.10node0node0这样就完成了这样就完成了NFSNFS在机群系统中的设置,以后所有用户的主目录在机群系统中的设置,以后所有用户的主目录都可以设置在都可以设置在/home/home中,所有可以共享安装的软件可以

23、放在中,所有可以共享安装的软件可以放在/Cluster/Cluster中。中。2024/7/2824国家高性能计算中心(合肥)单一作业管理系统 用户可以透明地从任一节点提交一项作业,作业可以调度为以批处理、交互或并行的模式运行 用户服务器、任务调度器、资源管理器典型的作业管理系统 PBSPBS(Portable Batch SystemPortable Batch System) LSFLSF(Load Sharing FacilityLoad Sharing Facility) CondorCondor JOSS JOSS PBSPBS的安装的安装2024/7/2825国家高性能计算中心(合

24、肥)软件的选择与安装OSOS的选择的选择SSISSI的构建的构建 编程环境的选择编程环境的选择2024/7/2826国家高性能计算中心(合肥)编程环境的选择流行的编程软件MPIMPI、OpenMPOpenMP、HPFHPFMPICH的安装及配置示例机群中构建了单一映象系统。示例机群中构建了单一映象系统。6464个节点个节点(node0node0到到node63node63)中)中node0node0共享共享./Cluster./Cluster目录给所有其它节点。这样只需将目录给所有其它节点。这样只需将MPICHMPICH安安装在这个共享目录中即可,即整个系统中只装在这个共享目录中即可,即整个系

25、统中只需安装一次。需安装一次。2024/7/2827国家高性能计算中心(合肥)MPICH的安装MPICHMPICH是一个开放源码的软件,所以可以从网上免费是一个开放源码的软件,所以可以从网上免费获取它的源代码。用户可以直接从获取它的源代码。用户可以直接从MPICHMPICH的主页下载的主页下载最新的软件包最新的软件包mpich.tar.gzmpich.tar.gz,然后将它置于,然后将它置于/Cluster/Cluster目目录下。录下。使用如下命令解压缩源代码:使用如下命令解压缩源代码:node0node0# tar # tar zxfzxf mpich.tar.gzmpich.tar.gz

26、解压缩后会生成一个名字为解压缩后会生成一个名字为mpich-1.2.4mpich-1.2.4的目录。的目录。2024/7/2828国家高性能计算中心(合肥)MPICH的安装进入该目录,并执行位于该目录下进入该目录,并执行位于该目录下configureconfigure脚本,为下一步编译脚本,为下一步编译源代码进行准备。该配置脚本可以接受很多的参数(源代码进行准备。该配置脚本可以接受很多的参数(OptionsOptions),),通过运行命令如下:通过运行命令如下:node0node0# ./configure help# ./configure help可以获取更详细的参数信息。这里只列举几个

27、最常用的参数:可以获取更详细的参数信息。这里只列举几个最常用的参数:-prefix-prefix:指定:指定mpichmpich的安装目录。的安装目录。-with-device-with-device:指明所使用的通信系统类型。一般情况下我们使:指明所使用的通信系统类型。一般情况下我们使用用ch_p4ch_p4,它表示通常的,它表示通常的TCP/IPTCP/IP通信系统。通信系统。-with-arch-with-arch:指明所使用的操作系统的类型。:指明所使用的操作系统的类型。运行如下命令完成前期配置:运行如下命令完成前期配置:node0node0# ./configure -prefix=

28、/Cluster/MPICH # ./configure -prefix=/Cluster/MPICH -with-device=ch_p4 -with-device=ch_p4 -with-arch=LINUX-with-arch=LINUX2024/7/2829国家高性能计算中心(合肥)MPICH的安装最后,先通过运行最后,先通过运行susu命令转变到命令转变到rootroot用户身份,再运行用户身份,再运行如下命令完成如下命令完成MPICHMPICH的编译和安装的编译和安装: :node0node0# make# makenode0node0# make install# make in

29、stall至此就完成了机群系统中至此就完成了机群系统中MPICHMPICH的安装。的安装。2024/7/2830国家高性能计算中心(合肥)MPICH的配置第一步要进行第一步要进行rshrsh的配置,使系统中不同节点之间的的配置,使系统中不同节点之间的rshrsh操作不需要操作不需要密码的输入。这首先需要在每个节点的密码的输入。这首先需要在每个节点的/etc/hosts/etc/hosts文件中写入文件中写入node0node0到到node63node63的的( (主机名主机名,IP,IP地址地址) )对;然后在对;然后在/etc/etc/host.equivhost.equiv中中写入所有的机

30、群节点主机名,下面是写入所有的机群节点主机名,下面是node0node0上的这两个文件内容:上的这两个文件内容:node0node0# cat /etc/hosts# cat /etc/hosts192.168.0.10192.168.0.10node0node0192.168.0.11192.168.0.11node1node1192.168.0.12192.168.0.12node2node2192.168.0.163192.168.0.163node63node63node0node0# cat /etc/# cat /etc/host.equivhost.equivnode0node0

31、node1node1node2node2node63node632024/7/2831国家高性能计算中心(合肥)MPICH的配置第二步要更改第二步要更改MPICHMPICH的节点列表文件,该文件位于的节点列表文件,该文件位于/Cluster/MPICH/share/Cluster/MPICH/share目录下。这里我们使用的目录下。这里我们使用的archarch参数是参数是LINUXLINUX,相应的列表文件为,相应的列表文件为machines.LINIUXmachines.LINIUX。在这个文件中要写明机群系统中所有的节点的主机名。在这个文件中要写明机群系统中所有的节点的主机名。该文件以一

32、定的方式指明了实际执行该文件以一定的方式指明了实际执行MPIMPI程序时进程是程序时进程是如何分配到各个节点上的。如何分配到各个节点上的。以下是示例机群中的以下是示例机群中的machinesmachines文件:文件:node0node0# cat /Cluster/MPICH/share/# cat /Cluster/MPICH/share/machines.LINUXmachines.LINUXnode0node0node1node1node2node2node63node632024/7/2832国家高性能计算中心(合肥)MPICH的运行 MPICHMPICH中最常用的两个命令就是中最常

33、用的两个命令就是mpiccmpicc和和mpirunmpirun。 mpiccmpicc是一个是一个MPIMPI编译器,它负责将源程序编译为可执行文件,它编译器,它负责将源程序编译为可执行文件,它最常用的参数是最常用的参数是-o-o用来指明输出文件。用来指明输出文件。node0node0# # cdcd /Cluster/MPICH/examples /Cluster/MPICH/examplesnode0node0# ./bin/# ./bin/mpiccmpicc cpi.ccpi.c o o cpinewcpinew mpirunmpirun则是用来执行一个编译好的则是用来执行一个编译好

34、的MPIMPI程序。下面是它最常用的程序。下面是它最常用的一些参数:一些参数:- -npnp :用来指明所要生成的进程数。:用来指明所要生成的进程数。- -machinefilemachinefile name:缺省时使用的:缺省时使用的machinesmachines文件文件是前面介绍过的位于是前面介绍过的位于shareshare目录下的目录下的machines.LINUXmachines.LINUX;但通过这;但通过这个参数可以指定一个临时的个参数可以指定一个临时的machinesmachines文件,从而使用不同的进程文件,从而使用不同的进程指派方式。指派方式。一个标准的一个标准的mpi

35、runmpirun命令如下:命令如下:node0node0# ./bin/# ./bin/mpirunmpirun npnp 10 10 cpinewcpinew machinefilemachinefile ././new_machine_filenew_machine_file2024/7/2833国家高性能计算中心(合肥)MPICH的运行node0node0# ./# ./mpirunmpirun npnp 10 10 cpicpiProcess 1 on node1Process 1 on node1Process 4 on node4Process 4 on node4Process

36、 3 on node3Process 3 on node3Process 7 on node7Process 7 on node7Process 8 on node8Process 8 on node8Process 9 on node9Process 9 on node9Process 2 on node2Process 2 on node2Process 6 on node6Process 6 on node6Process 5 on node5Process 5 on node5Process 0 on node0Process 0 on node0pi is approximately

37、 3.1416009869231249, Error is pi is approximately 3.1416009869231249, Error is 0.00000833333333180.0000083333333318wall clock time = 0.015806wall clock time = 0.0158062024/7/2834国家高性能计算中心(合肥)PC机群的搭建1.机群系统概述 2.硬件的选择与安装3.软件的选择与安装4.机群系统性能评测 2024/7/2835国家高性能计算中心(合肥)机群系统性能评测 基准测试程序(基准测试程序(BenchmarkBenchm

38、ark) LINPACKLINPACK、LAPACKLAPACK、BLASBLAS、BLACSBLACS、Livermore LoopsLivermore Loops、DhrystoneDhrystone、WhetstoneWhetstone、NASNAS、SPECSPEC、SimSim LinPACKLinPACK:Top500Top500的标准测试程序的标准测试程序 性能分析工具性能分析工具 监视程序的执行、产生性能数据、甚至能够作初步的分析,以监视程序的执行、产生性能数据、甚至能够作初步的分析,以帮助你更为容易的确定性能瓶颈的所在,从而找到改善的方案帮助你更为容易的确定性能瓶颈的所在,从而找到改善的方案 DEEP DEEP 、MPEMPE和和JumpshotJumpshot 、PabloPablo、ParadynParadyn 2024/7/2836国家高性能计算中心(合肥)谢谢!2024/7/2837国家高性能计算中心(合肥)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号