1/36▲第11章机群系统张晨曦刘依@sohu.com2/36▲11.1机群的基本结构11.2机群的特点11.3机群的分类11.4典型的机群系统3/36▲目前流行的高性能并行计算机系统结构通常可以分成5类:并行向量处理机(PVP)对称多处理机(SMP)大规模并行处理机(MPP)分布共享存储多处理机(DSM)机群(Cluster)优势:低廉的价格、极强的灵活性和可缩放性成为近年来发展势头最为强劲的系统结构全球Top500中机群计算机的数量和比例时间1997.61997.111998.61998.111999.61999.112000.62000.11数量1112671128比例0.2%0.2%0.2%0.4%1.2%1.4%2.2%5.6%时间2001.62001.112002.62002.112003.62003.112004.62004.11数量32438193149208289294比例6.4%8.6%16.2%18.6%29.8%41.6%57.8%58.8%时间2005.62005.112006.62006.112007.62007.112008.6数量304361364361374406400比例60.8%72.2%72.8%72.2%74.8%81.2%80%5/36▲1.机群一种价格低廉、易于构建、可扩放性极强的并行计算机系统。由多台同构或异构的独立计算机通过高性能网络或局域网互连在一起,协同完成特定的并行计算任务。从用户的角度来看,机群就是一个单一、集中的计算资源。11.1.1机群的硬件组成11.1机群的基本结构6/36▲11.1机群的基本结构一个简单PC机群的逻辑结构4台PC机通过交换机连接在一起。NIC表示网络接口,PCI表示I/O总线。这是一种无共享的结构,大多数机群都采用这种结构。如果将图中的交换机换为共享磁盘,则可以得到共享磁盘结构的机群系统。7/36▲11.1机群的基本结构SwitchCPUCache存储器NICPCICPUCache存储器NICPCICPUCache存储器NICPCICPUCache存储器NICPCI一个包含4个结点的简单PC机群8/36▲11.1机群的基本结构2.构成机群的每台计算机都被称为一个结点。每个结点都是一个完整的系统,拥有本地磁盘和操作系统,可以作为一个单独的计算资源供用户使用。除了PC机外,机群的结点还可以是工作站,甚至是规模较大的对称多处理机。结点分类计算结点管理登录结点I/O结点9/36▲11.1机群的基本结构3.机群的各个结点一般通过商品化网络连接在一起。4.网络接口与结点的I/O总线以松散耦合的方式相连。11.1.2机群的软件1.机群操作系统:在各结点的操作系统之上建立一层操作系统来管理整个机群。2.机群操作系统的功能提供硬件管理、资源共享以及网络通信实现单一系统映象10/36▲11.1机群的基本结构SingleSystemImage,简称SSI一项重要功能机群的一个重要特征11/36▲11.1机群的基本结构3.SSI有4重含义单一系统单一控制逻辑上,最终用户或系统用户使用的服务都来自机群中唯一一个位置;系统管理员通过一个唯一的控制点配置机群的所有软、硬件组件。对称性:用户可以从任一个结点上获得机群服务。位置透明:用户不必了解真正提供服务的物理设备的具体位置。12/36▲11.1机群的基本结构4.机群系统中的SSI至少应该提供以下三种服务:单一登录即用户可以通过机群中的任何一个结点登录,而且在整个作业执行过程中只需登录一次,不必因作业被分派到其它结点上执行而重新登录。单一文件系统在机群系统中,有一些对整个机群所有结点而言都相同的软件,它们没有必要在每一个结点上重复安装。执行并行作业时要求每个结点都可以访问到这些软件,但它们在整个机群系统中应该只有一个备份。13/36▲11.1机群的基本结构单一作业管理系统用户可以透明地从任一结点提交作业,作业可以以批处理、交互或并行的方式被调度执行。PBS、LSF、Condor和JOSS都是目前比较具有代表性的作业管理系统。5.并行编程模型以及相关的并行编程环境比较流行的并行编程工具:MPI、PVM、OpenMP、HPF6.机群系统的软件框架14/36▲11.1机群的基本结构PC工作环境普通软件PC工作环境普通软件PC工作环境普通软件PC工作环境普通软件机群中间件(单一影像系统和可用性基础)串行应用并行编程环境并行应用机群系统的软件框架15/36▲1.机群系统的优点系统开发周期短结点采用商品化的PC机、工作站,通过商用网络连接。系统开发的重点:通信子系统和并行编程环境可靠性高每个结点都是独立的PC机或工作站可扩放性强机群的计算能力随着结点数量的增加而增大机群结构灵活(结点之间以松耦合方式连接)机群系统的硬件容易扩充和替换,可以灵活配置。11.2机群的特点16/36▲11.2机群的特点性能价格比高用户编程方便2.机群的迅猛发展还得益于微处理器技术、网络技术和并行程序设计技术的进步。微处理器技术的进步使得微处理器的性能不断提高,价格不断下降;机群系统更容易融合到已有的网络系统中,而且随着网络技术的进步和高性能通信协议的引入,机群结点间的通信带宽进一步提高,通信延迟进一步缩短,逐步缓解了由于结点松散耦合引起的机群系统通信瓶颈问题。17/36▲11.2机群的特点随着PVM、MPI、HPF、OpenMP等并行编程模型的应用与成熟,使得在机群系统上开发并行应用更加方便。3.机群的不足之处由于机群由多台完整的计算机组成,它的维护相当于要同时去管理多个计算机系统,因此维护工作量较大,维护费用也较高。18/36▲1.根据组成机群的各个结点和网络是否相同,分为:同构、异构2.根据结点是PC还是工作站,分为:PC机群、工作站机群3.以机群系统的使用目的为依据,分为:高可用性机群、负载均衡机群以及高性能机群(最常用的分类方法)11.3机群的分类19/36▲11.3机群的分类4.高可用性机群主要目的:当系统中某些结点出现故障的情况下,仍能继续对外提供服务。采用冗余机制当系统中某个结点由于软、硬件故障而失效时,该结点上的任务将在最短的时间内被迁移到机群内另一个具有相同功能与结构的结点上继续执行。对于用户而言,系统可以一直为其提供服务。适用于Web服务器、医学监测仪、银行POS系统等要求持续提供服务的应用。20/36▲11.3机群的分类5.负载均衡机群主要目的:提供与结点个数成正比的负载能力要求:机群能够根据系统中各个结点的负载情况实时地进行任务分配。专门设置了一个重要的监控结点,负责监控其余每个工作结点的负载和状态,并根据监控结果将任务分派到不同的结点上。适合大规模网络应用如Web服务器或FTP服务器、大工作量的串行或批处理作业(如数据分析)21/36▲11.3机群的分类负载均衡机群适用于提供静态数据的服务;而高可用性机群既适用于提供静态数据的服务,又适用于提供动态数据的服务。6.高性能计算机群主要目的:降低高性能计算的成本通过高速的商用互连网络,将数十台乃至上千台PC机或工作站连接在一起,可以提供接近甚至超过传统并行计算机系统的计算能力,但其价格却仅是具有相同计算能力的传统并行计算机系统的几十分之一。22/36▲11.3机群的分类7.按照构建方式将机群分为:(一种比较常用的分类方法)专用机群吞吐率较高,响应时间较短。专用机群的结点往往是同构的,一般采用集中控制,由一个(或一组)管理员统一管理,而且用户一般需要通过一台终端机来访问它。企业机群各结点之间一般通过标准的LAN或WAN互连通信开销较大、延迟较长企业机群的各个结点一般是异构的23/36▲美国加州大学Berkeley分校开发具有很多优点:采用商用千兆以太网和主动消息通信协议支持有效的通信。通过用户级整合机群软件GLUNIX提供单一系统映象、资源管理和可用性,开发了一种新的无服务器网络文件系统xFS,以支持可扩放性和单一文件层次的高可用性。11.4典型机群系统简介11.4.1BerkeleyNOW24/36▲11.4典型机群系统简介1.主动消息实现低开销通信的一种异步通信机制基本思想在消息头部控制信息中携带一个用户级子例程(称作消息处理程序)的地址。当消息头到达目的结点时,调用消息处理程序通过网络获取剩下的数据,并把它们集成到正在进行的计算中。主动消息相当高效和灵活,以至于各种系统都逐渐地用它作为基本的通信机制。25/36▲11.4典型机群系统简介2.GLUNIX运行在工作站标准UNIX上的一个软件层,属于自包含软件。主要思想机群操作系统应由底层和高层组成;底层是执行在核模式下的结点商用操作系统,高层是能提供机群所需的一些功能的用户级操作系统。特别地,这一软件层能够提供机群内结点的单一系统映象,使得所有的处理器、存储器、网络容量和磁盘带宽均可以被分配给串行和并行应用。26/36▲11.4典型机群系统简介3.无服务器文件系统xFS一个无服务器的分布式文件系统;将文件服务的功能分布到机群的所有结点上,以提供低延迟高带宽的文件系统服务功能;主要采用廉价冗余磁盘阵列、协同文件缓存和分布式管理等技术。27/36▲11.4典型机群系统简介1.目标1GFlops的计算处理能力和10GB的存储容量价格不能过高2.一个具有16个结点的机群(ThomasSterling与DonBecker二人构建)硬件:Intel的DX4处理器以及10Mb/s的以太网软件:基于Linux系统以及其它一些GNU软件11.4.2Beowulf28/36▲11.4典型机群系统简介将这个系统命名为Beowulf这种基于COTS(CommodityOffTheShelf)思想的技术也迅速由NASA传播到其它科研机构。这类机群被称为Beowulf机群。(BeowulfClassClusterComputers)3.Beowulf并不是一套具体的软件包或是一种新的网络拓扑结构,它只是一种思想。在达到既定目标的前提下,把注意力集中在获取更高的性能价格比上。29/36▲11.4典型机群系统简介1.使用低成本、小配置(2~8个处理器)的SMP来构建机群系统逐渐成为主流。这种结构的系统被统称为CLUMPs(CLUsterofMultiProcessors)由于SMP结点内部与SMP结点之间通信能力往往不一致,CLUMPs一般使用专门的通信协议和通信算法。11.4.3LAMP30/36▲11.4典型机群系统简介2.LAMP(LocalAreaMultiProcessor)由NEC实验室构建,基于PentiumProPC机、SMP机群共有16个结点每个结点包含两个PentiumPro200MHz的CPU以及256MB内存。操作系统使用了支持SMP的Linux2.0.34内核版本,提供MPICH1.1.0并行程序开发环境。同一个SMP结点内的两个CPU之间采用基于共享存储器的消息传递机制进行通信,而结点间通信则通过Myrinet完成。31/36▲11.4典型机群系统简介1.深蓝:采用30个RS/6000工作站(带有专门设计的480片国际象棋芯片)的IBMSP2机群2.异步的MIMD,具有分布式存储器系统结构。11.4.4IBMSP2PMDMCCNICEPMDMCCNICE高性能开关(Omega多级开关)结点1结点2I/O总线I/O总线...S以太网系统控制台以太网适配器32/36▲11.4典型机群系统简介结点:一台RS/6000工作站,带有自己的存储器和本地磁盘。结点中采用的处理器:一台6流出的超标量处理机每个时钟周期可以执行6条指令,包括2条读数写数指令,2条浮点乘或加指令,1条变址增量指令和1条分支指令。每个结点配有一套完整的AIX操作系统(IBM的UNIX)结点间的互连网络接口是