Beowulf 群集:合众为一
2008-12-01 11:04:28 来源:WEB开发网度量性能
一些人认为唯一两个可以用来度量 Beowulf 群集性能的指标是:每秒浮点运算操作的数量和成本。然而这和认为处理器的唯一度量标准就是以 MHz 度量的速度一样缺乏远见。正如其它度量处理器的手段有芯片缓存的大小、内存总线的速度和字宽一样,至少有三种值得注意的度量 Beowulf 性能的方法。一个是权衡包的大小和冲突率优化网络吞吐量的能力。另一个是磁盘的输入输出速率。最后,还有简单代码效率。给编程任务打包的某个方法的效率可能高于或低于另一个。
市场
Beowulf 策略在研究机构之外也有实现。例如,波音公司(Boeing)从 Linux NetworX 得到一个 Beowulf 群集用以设计 Delta IV 火箭,它被用来发射卫星。另外,IBM 与新墨西哥大学(University of New Mexico)合作的 LosLobos,在 IBM Netfinity 服务器上有 512 块 Pentium III 733 MHz 处理器,通过 64 位的 Myrinet 传输数据,达到 3.75 gigaflop(每秒 37.5 亿次浮点运算)。国家计算科学联盟(The National Computational Science Alliance)将 LosLobos 用于研究,IBM 则基于它所学到的继续开拓群集技术(clustering technology)市场。已有报道说巴西的圣保罗大学(University of SaoPaulo,Brazil),建立了一个有 125 个节点的 Beowulf 群集,它分析乳房 X 线照片的时间只有原来的 120 分之一。象 Paralogic 和 Scyld 这样的公司经营的就是提供定制群集(请参阅 参考资料)。
需要的软件
本文至今唯一明确提过的软件就是 Linux 操作系统,而数据和程序指令通过以太网传输是由一套软件协议支持这一概念没有明确提出。一个您毫无疑问想要获得并掌握的软件包是 PVM,即并行虚拟机(Parallel Virtual Machine)。PVM 是一个软件包,它使得Linux 或 NT 机器组成的群集,可以象一个能够并行处理的单个计算机那样执行。
CPU 需要能够发送、接受任务和数据。消息传递(Message passing)是一个可以实现它的方法。至少需要一个 CPU 能够发送“您将找到并发回这些数中的素数”这样一个消息,而且还需至少一个 CPU 能够发送“我找到这些素数”的消息。PVM 是一个 rsh(远程 shell)或 ssh(安全 shell)的接口,它使一群机器看起来好象一个 ― 因而谓之:virtual(虚拟)。
PVM 的源代码是可用的,并已在许多种机器上编译过 ― 甚至有一个 RedHat 版本的 RPM。如果您有两台联网的计算机,您可以下载 Rahul U. Joshi 的最有指导意义的样本代码来体验一下 PVM(请参阅 参考资料)。除了 PVM,另一个可供选择的是 MPI,它是一个用来编写传递消息的程序的库。MPI 有许多实现。有的是商业的,有的则免费,有的提供源代码,有的不提供。(请参阅 参考资料)。
总结
Beowulf 策略产生 Beowulf 效果,即用较多的处理器和较少的时间,取代原本要用较少的处理器和较多时间进行的计算。在本文中,我仅仅触及到 Beowulf 现象的表面。下面的参考资料可以帮助您充实对 Beowulf 群集的理解并帮您得到入门所需要的工具。
更多精彩
赞助商链接