《分布式与云计算系统第2章》由会员分享,可在线阅读,更多相关《分布式与云计算系统第2章(67页珍藏版)》请在金锄头文库上搜索。
1、Chapter 2: Computer Clusters for Scalable parallel Computing可扩展并行计算集群可扩展并行计算集群 12.1大规模并行集群l计算机集群(computer cluster)由相互联系的个体计算机聚集组成,这些计算机之间相互联系并且共同工作l对于用户来说,计算机集群如同一个独立完整的计算资源池。l集群化实现作业级的大规模并行,并通过独立操作实现高可用性。l计算机集群和大规模并行处理器(MPP)的优点包括可扩展性能、高可用性、容错、模块化增长和使用商用组件。 2计算机集群的设计宗旨:l可扩展性:计算机集群化是基于模块化增长的概念. 将几百个单
2、处理器节点的集群扩展为10 000个多核节点的超级集群。这一些因素限制: 如多核心芯片技术、集群拓扑结构、封装方式、电力消耗和冷控制技术应用。 l封装:集群节点可以被封装成紧凑或者松散的形式。封装直接影响通信线路的长度,需要选择合适的互连技术。紧凑集群通常利用专有的高带宽、低延迟的通信网络,而松散集群节点一般由标准的局域网或广域网连接。 4l控制:集群能够以集中或分散的形式被控制或管理。紧凑集群通常集中控制,而松散集群可以采取另一种方式。在集中式集群中,中心管理者拥有、控制、管理和操作所有节点。在分散式集群中,节点有各自的拥有者。它同样需要进程调度、负载迁移、检查点、记账和其他类似任务的特殊技
3、术。 l同构性:同构集群采用来自相同平台的节点,即节点具有相同处理器体系结构和相同操作系统。异构集群使用来自不同平台的节点。互操作性是异构集群的一个非常重要的问题。在同构集群中,二进制进程镜像可以迁移到另一个节点并能够继续执行。这在异构集群中是不允许的,因为当进程迁移到不同平台的节点上时,二进制代码不继续执行。 5l安全性:集群内通信可以是开放的或封闭的。开放集群外界机器可采用标准协议(如TCP/IP)访问通信路径,从而访问单独节点。有几个缺点:集群内通信变得不安全; 外界通信可能以不可预测的形式干扰集群内通信; 准通信协议往往具有巨大的开销。在封闭集群中,集群内通信与外界相隔离,目前还没有高
4、效、封闭的集群内通信标准。 l专用集群和企业集群:专用集群由相同类型的计算机节点同构配置,被用于代替传统的大型机或超级计算机,极大地提高了吞吐量,并且减少了响应时间。企业集群主要利用节点的闲置资源,每个节点通常是一个完整的SMP、工作站或PC及其所有必要的外部设备。通常是由异构计算机节点配置的。6基础集群设计问题:l可扩展性能:资源扩展(集群节点、内存容量、I/O带宽等)使性能成比例增长 l单系统镜像(SSI):集群是一个单一独立的系统。 l可用性支持:集群能够利用处理器、内存、磁盘、I/O设备、网络和操作系统镜像的大量冗余提供低成本、高可用性的性能。 l集群作业管理:实现高系统利用率,作业管
5、理软件需要提供批量、负载均衡和并行处理等功能。 7l节点间通信:集群由于具有更高的节点复杂度,故不能被封装得如MPP节点一样的简洁。集群内节点之间的物理网线长度比MPP长。 l容错和恢复:机器集群能够消除所有的单点失效。集群能在一定程度上容忍出错的情况。故障节点上运行的关键作业可以被转移到正常运行的节点上。回滚恢复机制通过周期性记录检查点来恢复计算结果。8集群分类:l计算集群:主要用于单一大规模作业的集体计算。当单一计算作业需要集群中节点间的频繁通信,该集群必须共享一个专用网络,因而这些节点大多是同构和紧耦合的。这种类型的集群也被称为贝奥武夫集群。当集群需要在少量重负载节点间通信时,其从本质上
6、就是众所周知的计算网格。紧耦合计算集群用于超级计算应用。 l高可用性集群:用于容错和实现服务的高可用性。高可用性集群中有很多冗余节点以容忍故障或失效。 l负载均衡集群:通过使集群中所有节点的负载均衡而达到更高的资源利用。可以在不同机器间平衡负载,从而达到更高的资源利用或性能。 9Figure 2.1 Architectural share of the Top-500 systems (Courtesy of 25)10图2-2 Top500超级计算机的性能变化曲线(19932010) 111213图2-3 前5名超级计算机的能耗和性能(2010年11月)142.2 计算机集群和MPP体系结构
7、基本集群体系结构图2-4 由商用硬件、软件、中间件和网络组件构成的计算机体系结构,支持HA和SSI15Resource Sharing in Cluster of Computers图2-5 连接集群节点的三种方式(P/C:处理器和缓存;M:内存;D:磁盘;NIC:网卡;MIO:内存-I/O桥)16节点结构和节点结构和MPPMPP封装封装:IBM BlueGene/L Supercomputer:IBM BlueGene/L Supercomputer: The World Fastest Message-Passing MPP built in 2005The World Fastest M
8、essage-Passing MPP built in 2005 17集群系统互连 18谷歌搜索引擎集群体系结构 19图2-8 Top500系统高带宽互连的分布情况 20图2-9 InfiniBand系统构造在典型高性能计算机集群中的应用21硬件、软件和中间件支持 22大规模并行GPU集群 图2-11 实现Echelon系统的20Tflops和1.6TB/s内存带宽的GPU芯片设计23图2-12 由GPU层次网络构成的NVIDIA Echelon系统的体系结构,其中每个机柜可以提供2.6Pflops的性能,至少需要N=400个机柜才能实现所需的Eflops性能24CUDA并行编程nCUDA(C
9、ompute Unified Device Architecture,计算统一设备体系结构)由NVIDIA开发,提供并行计算体系结构。CUDA是NVIDIA GPU中的计算引擎,允许开发者通过标准程序语言访问。程序员可以使用NVIDIA扩展和受限的CUDA C。CUDA C通过PathScale Open64 C编译器编译,可以在大量GPU核上并行执行。例2.4体现了在并行处理中使用CUDA C的好处。252.3 计算机集群的设计原则单系统镜像特征:l单一系统 用户将整个集群作为一个多处理器系统。l单一控制 逻辑上,一个终端用户或系统用户在一个地方只能通过单一的接口使用服务。l对称性 用户可以
10、从任意节点使用集群服务。除了受到访问权限保护的部分,所有集群服务和功能对于所有节点和所有用户是对称的。l位置透明性 用户并不了解什么位置的物流设备最后提供了服务。26单系统镜像(SSI)包括单一入口、单文件层次、单一I/O空间、单一网络机制、单一控制点、单一作业管理系统、单一内存空间和单一进程空间。 图2-13 采用负载均衡的域名服务器(DNS)实现单一入口27图2-14单文件层次中存储的三种类型。实线表示进程P可以访问,虚线表示P可能被允许访问28图2-15具有单一网络连接、单一I/O空间、单一内存和单点控制的集群29SSI的最终目标是使得集群如同台式计算机一样易于使用,SSI额外特征:l单
11、一作业管理系统 所有集群作业能够由任意节点提交到单一作业管理系统。l单一用户接口 用户通过单一图形界面使用集群。l单一进程空间 各节点的所有用户进程形成单一进程空间,并且共享统一进程认证机制。lSSI集群化的中间件 在集群应用的三个层次上,中间件支持各种SSI特征。30l管理级 该级处理用户应用程序,并且提供作业管理系统。l编程级 该级提供单一文件层次(NFS、xFS、AFS、Proxy)和分布式共享内存l实现级 该级支持单一进程空间、检查点机制、进程迁移和单一I/O空间。31图2-16 在连接到集群中4个主机的12个分布式磁盘之上具有单一I/O空间的分布式RAID体系结构 32图2-17 在
12、作业管理、编程和实现级上集群化中间件的关系33冗余高可用性l可靠性根据系统不发生故障的运行时间衡量。l可用性表示系统对用户可用的时间百分比,即系统正常运行的时间百分比。l可服务性与服务系统的容易程度相关,包括硬件和软件维护、修复、升级等。3435图2-19 SMP和三个集群中的单点失效(SPF),由a到d,其中冗余越大,消除的单点失效也越多36容错集群配置l热备份服务器集群 只有主要节点积极完成所有有用的工作。备份节点启动(热)和运行一些监控程序来发送与接收心跳信号以检测主要节点的状态,但并不积极运行其余有价值的工作。l主动接管集群 多个服务器节点的体系结构是对称的。两个服务器都是主要的,正常
13、完成有价值的任务。两个服务器节点通常都支持故障切换和恢复。l故障切换集群 当一个组件失效时,该技术允许剩余系统接管之前由失效组件提供的服务。故障切换机制必须提供一些功能,如失效诊断、失效通知和失效恢复。 37检查点和恢复技术l检查点和恢复这两种技术必须共同发展,才能提高集群系统的可用性。l某个进程周期性地保存执行程序的状态至稳定存储器,系统在失效后能够根据这些信息得以恢复。l每一个被保存的程序状态称为检查点。包含被保存状态的磁盘文件称为检查点文件。虽然目前所有的检查点软件在磁盘中保存程序状态,但是使用节点内存替代稳定存储器来提高性能还处在研究阶段。382.4 集群作业和资源管理集群作业调度方法
14、l集群作业可能在一个指定的时间(日历调度),或者在特定事件发生(事件调度)时被调度运行。l根据提交时间、资源节点、执行时间、内存、磁盘、作业类型及用户认证的优先级,作业被调度。l静态优先级指的是根据预定的方案,作业被分配的优先级。l为用户分配不同的优先级,而作业的动态优先级可能会随时间发生变化。3940图2-22 用于集群节点上作业调度的瓷砖式覆盖技术减少了整体时间,因此增加了作业吞吐量41集群作业管理系统 作业管理也称为负载管理或负载共享。作业管理系统(Job Management System,JMS)具有三部分:l用户服务器:提交用户作业至一个或多个队列,为每个作业指定资源需求,将作业从
15、队列中删除,以及询问作业或队列的状态。l作业调度器:根据作业类型、资源需求、资源可用性和调度策略,执行任务调度和排队。l资源管理器:分配和监控资源,执行调度策略,以及收集统计信息。42集群计算的负载共享设备(LSF)lLSF是平台计算中的商用负载管理系统。l在并行作业和串行作业中,LSF强调作业管理和负载共享。l它还支持检查点、可用性、负载迁移和单系统镜像。lLSF具有高扩展性,并且能够支持上千个节点的集群。lLSF服务于各种UNIX和Windows/NT平台。目前,LSF不仅在集群中使用,也在网格和云中使用。 43MOSIX: Linux集群和云的操作系统 MOSIX由希伯来大学在1977年
16、开发,是一个分布式操作系统。在1999年,该系统被重新设计,运行在x86平台的Linux集群上l用户可以从任何节点登录l没有必要修改应用程序或链接应用程序至特殊库。l没有必要复制文件至远程节点l用户能够平衡负载,从较慢节点迁移至快速节点l关于迁移进程直接通信的套接字也是可迁移的。l该系统以客户进程的安全运行时环境为特征。l该系统能够运行批量作业,并可以通过检查点恢复4445Figure 2.4 Country share of the Top-500 supercomputers over time 252.5 顶尖超级计算机系统的个案研究46 Figure 2.5 Application-a
17、rea share of Top-500 systems over time. (Courtesy of 25)47Top- 500 Release in June 201048Tianhe-1A:2010年的世界最快超级计算机The Cray XT-5 Jagaur Supercomputer 555657IBM Roadrunner System585960(Courtesy of Bill Dally, 2011)(Courtesy of Bill Dally, 2011)A proposed Nivdia GPU chip processor architecture with 128
18、 cores (160 GFlpos each) plus 8 A proposed Nivdia GPU chip processor architecture with 128 cores (160 GFlpos each) plus 8 latency processors (LP) connected to 1024 SRAMs (L2 caches) by a NoC, where MS are the latency processors (LP) connected to 1024 SRAMs (L2 caches) by a NoC, where MS are the memo
19、ry controllers connecting to off-chip DRAMS and NI is the network interface to next memory controllers connecting to off-chip DRAMS and NI is the network interface to next level of network (Courtesy of Bill Dally, reprint with permission 10 ). level of network (Courtesy of Bill Dally, reprint with p
20、ermission 10 ). (Courtesy of Bill Dally, 2011)The architecture of a GPU cluster built with a hierarchical network of The architecture of a GPU cluster built with a hierarchical network of processor chips (GPUs) that can deliver 2.6 PFlops per cabinet. It takes at processor chips (GPUs) that can deli
21、ver 2.6 PFlops per cabinet. It takes at least N = 400 cabinets to achieve the desired PFlops or EFlops performance. least N = 400 cabinets to achieve the desired PFlops or EFlops performance. (Courtesy of Bill Dally, reprint with permission 10 ). (Courtesy of Bill Dally, reprint with permission 10 )
22、. (Courtesy of Bill Dally, 2011)Paper/Books on Clusters and MPPs:1.1.G. Bell, J. Gray. And A. Szalay, “Petascale Computational G. Bell, J. Gray. And A. Szalay, “Petascale Computational Systems : Balanced Cyberstructure in a Data-Centric Systems : Balanced Cyberstructure in a Data-Centric World”, Wor
23、ld”, IEEE Computer Magazine,IEEE Computer Magazine, 2006.2006.2.K. Hwang, G. Fox. And J. Dongarra, Distributed and Cloud Computing Systems, Chapter 2, Kauffmann, 20113.3.G. F. Phister, G. F. Phister, In Search of Clusters,In Search of Clusters, (second Edition) (second Edition) Prentice-Hall, N.J. 2001. Prentice-Hall, N.J. 2001. 此课件下载可自行编辑修改,供参考!此课件下载可自行编辑修改,供参考!感谢你的支持,我们会努力做得更好!感谢你的支持,我们会努力做得更好!