可扩展并行机群系统可扩展并行机群系统一、机群系统的组成机群系统是利用高速通用网络将一组高性能工作站或高档 PC 机,按某种结构连 接起来,在并行程序设计以及可视化人机交互集成开发环境支持下,统一调度,协调 处理,实现高效并行处理的系统从结构和结点间的通信方式来看,它属于分布存储 系统,主要利用消息传递方式实现各主机之间的通信,由建立在一般操作系统之上的 并行编程环境完成系统的资源管理及相互协作,同时也屏蔽工作站及网络的异构性 对程序员和用户来说,机群系统是一个整体的并行系统机群系统中的主机和网络可 以是同构的,也可以是异构的目前已实现和正在研究中的机群系统大多采用现有商 用工作站和通用 LAN 网络,这样既可以缩短开发周期,又可以利用最新的微处理器技 术大多数机群系统的并行编程环境也是建立在一般的 Unix 操作系统之上,尽量利用 商用系统的研究成果,减少系统的开发与维护费用从应用的角度看,在机群系统出现以前,并行处理系统主要有三大类:第一类是 多向量处理系统,以 CRAYYMP-90、NECSX-3 和 FUJITSUVP-2000 等为代表;第二 类是基于共享存储的多处理机系统,如 SGIChallenge 和 SunSparcCenter2000;第三类 是基于分布存储的大模并行处理系统(MPP),比如 IntelParagon、CM-5、CrayT3D 等。
上述第一和第三类系统由于研制费用高、售价高等因素,其市场受到一定的限制第 二类系统由于共享结构的限制,系统的规模不可能很大RISC 技术、网络技术和并行 编程环境的发展使得机群系统这一新的并行处理系统形式正成为当前研究的热点由于 RISC 技术的发展,使得微处理器的性能不断提高高档芯片的运算能力平 均每年增长 30%,价格不断降低,直接使用商用工作站或 PC 机作为运算结点的机群 系统在结点性能上能够同处理器的发展保持同步增长网络技术的进步使得松散耦合系统的通信瓶颈逐步得到缓解网络传输速度的提 高,有效地提高了应用程序之间的通信带宽快速以太网的速率为 100Mbps,ATM 局 域网的带宽达到 155Mbps,622Mbps 的产品也已经研制成功而开关技术的发展则大幅 度地降低了传输延迟,使得许多高速局域网能和 MPP 中的专用互连网络的性能相当 例如,由 MyriCom 公司生产的 Myrinet,提供 1.28Gbps 的双向链路,已经和专用网络 的带宽接近,它的开关延迟每级只有 1(s采用这种网络的机群系统加上新的协议控制 机制,点-点的往返延迟只有十几(s 到几十(sUIUC 研制的 FastMessag 平均往返延迟 只有 12(s,UCBerkeley 的 ActiveMessage 为 36(s,与 CM-5 的专用网络相当,比 MeikoCS-2 的延迟还要小。
并行编程环境的开发使得新编并行程序或改写串行程序更为容易并行应用程序 的开发和不同系统之间的可移植性一直是传统并行系统能否广泛应用的一个关键由 于机群系统的发展,近年来出现了多个并行程序开发及运行系统,比如 PVM、MPI、Express、Linda、P4 等这些系统的适应平台非常广,应用程序在这些系 统上的可移植性较好,特别是 PVM 和 MPI,由于其开放性,受到许多大学和研究机构 都有广泛的重视,在这些环境下开发了许多应用程序 这些技术的进步使得机群系统这一并行处理的新的结构形式受到广泛的的关注, 国外许多大学和计算机公司都在进行这方面的研究和开发工作二、机群系统的特点机群系统之所以能够从技术可能发展到实际应用,主要原因是它与传统的并行处 理系统相比有以下几个明显的特点:1.系统开发周期短由于机群系统大多采用商用工作站和通用 LAN 网络,使结点主机及系统管理相 对容易,且可靠性高开发的重点在通信和并行编程环境上,既不用重新研制计算结 点,又不用重新设计操作系统和编译系统,节省了大量的研制时间2.用户投资风险小用户在购置传统巨型机或 MPP 系统时会担心使用效率不高,系统性能发挥不好, 从而浪费大量资金。
而机群系统不仅是一个并行处理系统,它的每个结点同时也是一 立的工作站,即使整个系统对某些应用问题并行效率不高,但它的结点仍然可以 作为单个工作站使用3.系统价格低由于生产批量小,传统巨型机或 MPP 的价格都比较昂贵,往往要几百万到上千万 美元而构成机群的工作站或高档 PC 机是批量生产的,因而售价较低由近十台或几 十台工作站组成的机群系统可以满足相当多数应用的要求,且价格较低4.节约系统资源由于机群系统的结构比较灵活,可以将不同体系结构,不同性能的工作站连在一起, 这样就可以充分利用现有设备从使用效率上看,机群系统的资源利用率也比单机系 统要高得多UCBerkeley 计算机系 100 多台工作站的使用情况调查表明,一般单机系 统的使用率不到 10%,而机群系统中的资源利用率可达到 80%左右另一方面,即是 用户设备更新,原有的一些性能较低或型号较旧的机器在机群系统中仍可发挥作用5.系统扩展性好从规模上说,机群系统大多使用通用网络,系统扩展容易;从性能上说,对大多数 中、粗粒度的并行应用都有较高的效率清华大学计算机系研制的可扩展机群系统测 试的结果表明,8 台工作站的加速比可以达到 5.83~7.9,并行处理的效率为 72.88%~99%。
6.用户编程方便机群系统中,程序的并行化只是在原有的 C、C++或 Fortran 串行程序中,插入相 应的通信原语用户使用的仍然是熟悉的编程环境,不用适应新的环境,这样就可以 继承原有软件财富三、机群系统研究的主要问题1.高效的通信系统机群系统一般使用通用局域网连接,目前常用的局域网技术大体可以分成两类: 一类是共享介质网络,最常见的是 10Mbps 或 100Mbps 的 Ethernet;另一类是开关网络, 比如 155Mbps/622Mbps 的 ATM、640Mbps/1.28Gbps 的 Myrinet 和 100Mbps 的交换式 Ethernet对于共享介质网络,由于其聚合网络频带与单独链路频带是一样的,其性能 会随网络负载的增加而下降,特别是对于某些负载比较集中的应用程序,这种影响会 更明显但是售价便宜,组成系统也相对容易,是组成中低档机群系统的一种较好的 选择而开关网络则相反,其聚合网络频带比单独的链路频率带要高得多,理论上讲 是 N 倍;除开关的交换延迟影响外,性能不会随网络负载的增加而降低很多;开关网 络的另一个优点是其可扩展性较好,由于 Wormhole、Cut-through 等交换技术的发展, 交换延迟已经很低,与发送/接收端的开销相比要小得多。
比如,Myrinet 开关的一次交换延迟小于 1us,一个中等规模的机群系统(16-32 台) 的点-点的往返延迟仅有几十 us但是交换开关及相应接口卡的售价要高得多,组成机 群系统的价格相对也比较高,对系统的普及会受到一定影响,参见表表几种常用局域网的性能价格情况类型速度TCP/IP 往返延迟 ((s)接口价格(千 元)实现灵活性 Ethernet10Mbps14384/-1差FastEthernet100Mbps134715/851.5差ATM155/622Mbps 1285-/21015一般Myrinet640/1280Mbps1506-/2012好 在不考虑网络负载的情况下,一般使用点-点的应用程序的可见带宽和往返延迟来 衡量通信系统的性能应用程序可见带宽说明了网络的长消息包的传输性能,虽然由 于网络技术的飞速发展,网络的物理链路越来越快,但是应用程序的可见带宽比链路 速度要小得多,主要原因有网卡接口的硬件限制、协议处理开销和操作系统开销例 如,Myrinet 的物理链路是双向的 640Mbps,而在 TCP/IP 协议上点-点的应用程序可见 带宽只有 38Mbps往返延迟是 1 字节或 0 字节数据消息包的往返传输时间,它说明了 网络短消息包的传输性能。
新的网络技术大幅度地提高了传输速度,但往返延迟没有 太大变化从表 1 可以看出,快速以太网、ATM 和 Myrinet 在 TCP/IP 上的往返延迟与 10Mbps 的延迟相差不多目前,通信系统的研究方向主要是在减小往返延迟和提高链 路带宽的利用率上,实现方法有精简协议处理,开发新的通信机制和减少系统开销2.并行程序设计环境PVM、MPI、Express、P4 等基于 MessagePassing 方式的并行程序设计环境为并行程 序的设计和运行提供一个整体系统和各种辅助工具它们的功能包括提供统一的虚拟 机、定义和描述通信原语、管理系统资源、提供可移植的用户编程接口和多种编程语 言的支持目前研制的机群系统大多支持 PVM 和 MPI,除了适应广泛的硬件平台和编 程方便等特点之外,它们都是免费软件,所以在支持语言、容错及工具等方面都不完 善,许多研究机构和大学正在做这方面的研究工作开发并行应用程序要比开发串行程序困难得多,它涉及多个处理器之间的数据交换 与同步,要解决数据划分、任务分配、程序调试和性能评测等问题,需要相应支持工 具,比如并行调试器、性能评测工具、并行化辅助工具,它们对程序的开发效率与运 行效率都有重要的作用。
目前,提供工具较完善的系统有 FAUST、Express、TOPSYS 和 VIDE3.多种并行语言的支持并行程序设计语言是并行系统应用的基础,已有的机群系统大多支持 Fortran、C 和 C++,实现的方法主要是使用原有顺序编译器链接并行函数库,比如 PVM、MPI,或者 加入预编译,比如 Multi-threadC,MPC++目前机群系统并行程序设计语言的研究主要 在三个方面:扩展原有顺序语言,提供广泛的并行语言支持,例如,清华大学可扩展 机群系统的 ADA、MPC++;提供全新的并行语言,比如 Occam;研究自动化并行编译 方法,直接将顺序程序编译成并行代码,目前比较成功的有 UIUC 的 Polaris、Stanford 的 SUIF 和复旦大学的 AFT4.全局资源的管理与利用有效地管理系统中的所有资源是机群系统的一个重要方面,常用的并行编程环境 PVM,MPI 等对这方面的支持都比较弱,仅提供统一的虚拟机主要原因是结点的操作 系统是单机系统,不提供全局服务支持,同时也缺少有效的全局共享方法 UCBerkeley 的 NOW 项目中提出,在一般操作系统(Unix、Linux、WindowsNT 等) 之上建立一个全局 Unix--GLUnix,以解决机群系统中的所有资源管理,包括组调度、 资源分配和并行文件系统。
一般认为其中的并行文件系统对提高系统的性能潜力最大, 即所谓 Terabytes>>Teraflops,就是说目前限制并行程序性能的因数主要来自 I/O 瓶颈, 提高 I/O 性能的方法较之提高 CPU 速度更能增强并行系统的性能随着网络技术的发展,通信延迟越来越小,网络访问比本地磁盘访问要快得多在 155Mbits/s 的 ATM 网络上,读取其他结点的内存 100MBytes 的时间是读取本地磁盘的 1/5现在的工作站和高档 PC 机都配有相当多的内存(32M~64MB),整个机群系统的全 部内存是一个很大的资源,利用其他结点的空闲内存作为本地结点的虚拟内存和文件 缓存,可以节省相当多的访盘时间据 UCBerkeley 的实验统计,对需要经常访盘的应 用程序,使用这种方式可以比使用本地磁盘快 5~10 倍除了这几个主要方面的研究之外,还有许多特定应用方面的研究,比如,广播、多 播等全局操作的高效实现、DSM 并行模型的支持、并行 I/O 的研究等四、机群系统的应用高性能计算机系统一般用于解决大容量存储、大数据量计算等需要大幅度降低处理 时间以提高生产效率的应用问题许多对经济、科技和人类社会的发展有广泛影响的 重大应用问题都存在固有的并。