当前位置: 首页 > >

机群网络并行计算

发布时间:

计算机技术的出现对现代科技与世界经济的发展以及人们的生活都产生了巨大的影响 , 其发展之迅猛是其它科学技术所不能及的 .随着计算机技术 , 网络技术的迅速发展及其对科 技, 经济与生活影响的日益深入 ,新的应用 , 新的需求也不断地涌现出来 .人们对计算机系统 的计算能力的要求越来越大 ,制造了越来越快的 CPU ,并发明了多机协同计算 .按系统目标 不同 ,多机协同计算可分为分布式计算 (Distributed Computing) 和并行计算 ( Paralel Computing) . 前者使地理上分散的系统协同工作 ,一般有多个用户同时与计算过程交互 ,如银行业务系统 , 飞机定票系统 , 分布式工业控制系统 ; 后者以获得高性能 ( 如更短的计算时间) 和高可用性为主 要目标 ,一般只有一个用户与计算过程交互 . 目前 ,在某些并行计算系统中 ,也存在多用户交 互 ,如美国 Argonne 实验室的 I2WAY 项目 [1 ] . 而分布式系统要求的计算能力也非常大 ,如卫生 测控系统 . 同时 ,两类系统都趋向与使用通用网络技术互联各计算单元 ,因此 ,一般可统称为 "网络计算" .

1 并行计算的发展

并行和分布计算技术分别自 20 世纪 60 年代中期和 20 世纪 70 年代后期出现以来 ,其并行 处理方式经历了从阵列机 ( SIMD ) , 向量机及向量并行机 , 共享存储的对称多处理器系统 ( SMP) , 分布存储的大规模并行处理系统 (MPP) 到 NUMA ( 非一致访问的分布共享存储) 并行机 系统和计算机机群系统 ( Clusters) 的演变过程 . 在研制上述并行和分布计算系统的过程中 ,人们逐渐认识到 ,系统的规模可伸缩性 ( Scala2 bility) 和可编程性 ( Programmability) 已成为促使这两者进一步发展的关键问题 .规模可伸缩并 行计算机系统 ,能以最低可能成本向用户提供最高可能性能 ,因此 ,已成为并行计算技术发展 的主流 ; 如果计算机或工作站已局部联网 , 计算机机群 ( 工作站机群 NOW/ COW 等 ) 则能提供 更为经济有效的高性能计算能力 ,而事实上已成为分布计算技术发展的主流 .
收稿日期 :2004204228

2 机群系统

第21卷第2期 三 明 高 等 专 科 学 校 学 报 2004年6月 Vol121 No12 JOURNAL OF SANMING COLLEGE J un1 2004

机群网络并行计算
潘 文 涛

( 嘉应学院 现代教育技术中心 , 广东 梅州 514015)

摘 : 高速计算机网络和不断提高的微处理芯片性能使得计算机网络成为吸引人的并行计 要 关键词 : 网络 ; 机群系统 ; 并行计算

算载体 .论述了机群网络并行计算的特点及机群网络并行计算设计中需要考虑的因素 .

中图分类号 :TP301. 6 文献标识码 :A 文章编号 : 1671 - 1343 (2004) 02 - 0062 - 04

作者简介 : 潘文涛 (1972 - ) ,男 ,广东兴宁人 ,嘉应学院现代教育技术中心讲师 .

62

计算机机群系统 ( Cluster of Computers) 由高性能网络或局域网物理地互连的全体计算机结 点的集合 .典型情况下 ,每个计算机结点是一台 SMP 服务器 , 一台工作站或是一台 PC 计算 机 ,结点可以是同构的 ,也可以是异构的 .计算机数目一般为几台至几十台 ,支持控制并行或 数据并行的开发 .每个结点上都有完整的操作系统 , 网络和用户界面 ,都可作控*岬慊蛟怂 结点 ,即结点之间是*等的 .机群系统最*几年的表现引人注目 ,由于具有出色的性价比 , 灵 活性和良好的并行处理能力 ,除了广泛作为研究课题外 ,在各个行业的应用发展也很快 . 机群系统是利用高速通用网络将一组高性能工作站或高档 PC 机 ,按某种结构连接起来 , 并在并行程序设计以及可视化人机交互集成开发环境下 ,统一调度 ,协调处理 ,实现高效并行 处理的系统 .从结构和结点的通信方式来看 ,它属于分布存储系统 ,主要利用消息传递方式实 现各主机之间的通信 ,由建立在一般操作系统之上的并行编程环境利用消息传递方式实现各 主机之间的通信 ,由建立在一般操作之上的并行编程环境完成系统的资源管理及相互协作 ,同 时也屏蔽工作站及网络的异构性 ,对程序员和用户来说 ,机群系统是一个整体的并行系统 .机 群系统中的主机和网络可以是同构的 , 也可以是异构的 .RISC 技术 , 网络技术和并行编程环 境的发展使得机群系统这一新的并行处理系统形式成为当前研究的热点 .

3 网络并行计算的特点
3. 1 系统开发周期短

由于网络系统大多采用商用工作站和通用 LAN 网络 ,使结点主机及系统管理相对容易 , 可靠性高 .开发的重点在通信和并行编程环境上 ,既不用重新研制计算结点 ,又不用重新设计 操作系统和编译系统 ,这就节省了大量的研制时间 . 3. 2 用户投资风险小 用户购置传统巨型机或大规模并行处理系统 (MPP) 很昂贵 ,会担心是否适合使用以及效 率的问题 .一旦不适合 ,等于浪费了大笔资金 .而工作站的投资相对较少 ,不但可以用来进行 网络并行计算 ,还可以单机使用 . 3. 3 系统价格低 由于生产批量小 , 传统巨型机或 MPP 的价格都比*汗 , 往往要几百万到上千万美元 . 工作站或高档 PC 机由于它们是商业化批量生产 , 因而售价较低 .由*十台或几十台工作站 组成的网络系统可以满足多数应用的要求 ,而价格却比较低 . 3. 4 节约系统资源 由于网络系统的结构比较灵活 ,可以将不同体系结构 , 不同性能的工作站连在一起 ,这样 就可以充分利用现有设备 . 3. 5 系统扩展性好 从规模上说 ,网络系统大多使用通用网络 ,系统扩展容易 ; 从性能上说 ,对大多数中 , 粗粒 度的并行应用都有较高的效率 . 3. 6 用户编程方便 网络系统中 ,程序的并行化只是在原有的 C , 6 或 Fortran 串行程序中 , 插入相应的通信 C 原语 .用户使用的仍然是熟悉的编程环境 , 不用适应新的环境 , 这样就可以继承原有软件财 富 ,对串行程序并不做很多的修改 .

4 网络并行计算设计中需考虑的因素
4. 1 网络性能

机群并行系统是基于高速通信网络并由节点机互连而成的系统 .网络性能的好坏对机群
63

并行系统并行计算效率的提高 , 处理问题的适应范围以及系统的可扩展性都有很大影响 . 机群结点一般使用通用网络以松耦合方式互连 .衡量网络性能的重要因素是通信延迟时 间 ,它包括了协议软件处理开销和网络硬件处理时间 .为了实现上的方便和便于移植 ,通常使 用标准协议 ( 如 TCP/ IP) 进行结点间的通信 .TCP/ IP 协议是为 internet 而设计的网际互连协议 族 ,它为异构的远程网络的互联提供了解决方法 ,付出的代价是协议带来很大的软件开销 .对 于机群并行计算系统 ,一般来说 ,其网络系统分布范围小 ,通信链路可靠性高 ,系统结构相对简 单 .实践证明 : 在使用高速网络的机群并行系统中 ,影响通信系统性能的瓶颈已不再是网络硬 件的性能 ,而是通信软件的处理开销 [2 ] .如果是在同构的网络环境下实现计算机之间的相互 通信 ,可以考虑设计新的精简通信协议 ,减少传统通信协议的层次 ,降低通信软件的处理开销 以适用于机群并行系统的快速消息传递机制 ,为用户提供一个低延迟 , 高带宽 , 高可靠的通信 模式 ,以达到改善系统性能的目的 . 为了提高机群系统的网络带宽 ,必须采用新型的高速网络来取代传统的 10Mb/ s 以太网 . 由于多媒体应用 , 实时网络系统 , 大规模并行计算等应用对高速网络的需求 ,推动了网络技术 的飞速发展 ,目前出现了多种新型的高速网络 ,如快速以太网 , , ATM Myrinet .这些高速网络按 所采用的技术可分成两类 : 共享介质类型和基于开关类型 .共享介质类型的高速网络主要有 快速以太网和 FDDI ; 基于开关的高速网络主要有 ATM 和 Myrinet . 对于共享介质网络 ,由于其聚合网络频带与单独链路频带是一样的 ,其性能会随网络负载 的增加而下降 ,特别是对于某些负载比较集中的应用程序 ,这种影响会更明显 ,但是售价便宜 , 组成系统也相对容易 ,是组成中低档机群系统的一种较好的选择 .而开关网络则相反 ,其聚合 网络频带比单独的链路频带要高得多 ,理论上讲是 N 倍 ; 除开关的交换延迟外 ,性能不会随网 络负载的增加而降低很多 , 开关网络的另一个优点是其可扩展性较好 , 由于 Wormhole , Cut through 等交换技术的发展 , 交换延迟已经很低 , 与发送/ 接受端的开销相比要小得多 .比如 , μ Myrinet 开关的一次交换延迟小于 1 s ,一个中等规模的机群系统 ( 16 - 32 台 ) 的点 - 点的往返 延迟仅有几十微秒 .但是交换开关及相应接口卡的售价要高得多 ,对系统的普及有一定影响 .
4. 2 负*胶

在并行计算中 ,一个大任务往往由多个子任务组成 .所谓负载 ,是指被分配到各个处理节 点上并行执行的子任务 .负载在并行系统的各处理节点上分布的均衡程度称为负*胶 度 [3 ] . 从应用的角度看 ,任何并行环境要提高并行应用的有效性 ,负*胶獠呗允潜夭豢缮俚 . 机群系统*台上的并行计算 ,因其异构性 ,特殊的网络结构 ,节点性能的动态变化 ( 由于交互用 户的介入 ,后台进程的运行等) ,使得负*胶馕侍庀缘糜绕渲匾 ,而因其异构性及实际应用则 变得更为复杂 .当整个系统任务较多时 ,各节点上的负载可能产生不均衡现象 ,从而会降低整 个系统的利用率 .负载不*衡问题解决得好坏 ,直接影响到整个并行计算的性能 ,因此负* 衡度是影响机群并行效率的重要因素 . 负*胶馕侍庑栌捎τ贸绦蛟崩纯悸 ,一般有两种常用的负*胶夥椒 : 静态负*胶夂 动态负*胶 .在设计负*胶庀低呈庇悸峭缃峁 , 并行机群构造 ( 同构或异构) , 系统利 ( 用户数量 , ) 以及系统的可靠性等因素 . 用状况 系统的*均负载量 , 通信量等 静态负*胶饩褪歉莼褐懈骷扑憬岬愦砟芰ι系牟钜 ,将工作量相应地分配到各 计算结点上 ,处理能力强的计算结点分配更多的工作 .这种负*胶夥绞 ,仅考虑了各计算结 点处理能力上的差异 ,而并未考虑备计算结点上负载的波动情况 ,仅当整个机群中的计算结点
64

均单独用于该并行应用软件时才有效 .当各计算结点还用于日常的业务时 ,采用这种负* 衡方式并不能取得令人满意的效果 . 动态负*胶饩褪怯τ萌砑茉谠诵泄痰母鞲鼋锥沃 ,不断地根据运行时各计算节点 的负载情况 ,将工作量动态地分配到各个计算结点上 ,负载轻的计算结点分配较多的工作 .因 为机群的工作通常是建立在不影响各计算结点原有工作的前提下 ,动态负*胶庠诨翰⑿ 系统中占据十分重要的位置 [2 ] . 4. 3 单一系统映像 为了方便 , 容易地使用和管理网络 , 网络并行系统需要向用户提供一个单一系统映像 ( Single System Image ,SSI) 的高层抽象 ,即一个虚拟的单一巨型工作站或超级服务器 .使得系统 中的多台计算机像单一主机一样使用 .
4. 4 并行算法

并行算法的设计 , 分析和实现 ,其中包括数值和非数值并行算法 , 同步和异步算法以及分 布式算法 ; 上述算法的时间和空间复杂性分析及算法的实现方法等 .并行程序设计的方法可 以是改造已有的串行程序 ,或挖掘问题本身的并行性 .借助并行算法 ,人们对世界可以进行更 有效的研究和探索 [4 ] . 4. 5 其他因素 除以上讨论的因素之外 ,机群并行系统的设计中还要考虑操作系统*台的选择 , 并行应用 编程时任务的粒度与划分 , 硬件的购买 , 现有资源的利用等因素 .实际应用中考虑这些因素时 不能一概而论 ,需要根据具体的需求和应用环境具体的分析和设计 . 参考文献 :
[1 ] 胡 ,宋京民 ,阚志刚 ,等 . 网络计算新技术 [M] . 北京 : 科学出版社 ,2001. 凯 [2 ] 邹 ,罗省贤 . 机群并行系统与网络并行计算环境 [J ] . 物探化探计算技术 ,2001 ,23 (4) :375 - 379. 晖 [3 ] 缪湘科 . 网络并行计算中的负*胶 [J ] . 小型微型计算机系统 . 1995. 16 (9) :32 - 36. [4 ] 王正华 ,赵文涛 . 二维不可压流程序在 PVM 环境下的并行计算 [J ] . 空气动力学学报 ,2002 ,20 ( S1) :59 - 63.

[ 责任编辑 : 赖文忠 ]

Machine Group Net work Parallel Computation
( Modern Education Technology Center , Jiaying University , Meizhou 514015 , China)

er network an appealing parallel computation carrier. The article deals with the characteristics of machine group network par 2 allel computation , and the factors related to the design. Key words :network ; cluster of computers ; caralel computing

Abstract :The high speed of computer network and the accelerating performance of microprocessing chips make comput 2

PAN Wen2tao

65




友情链接: