有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。
象在家搜寻外星人( SETI@HOME -- Search for Extraterrestrial Intelligence at Home
)就是这一类型应用。这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上
参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的
数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。所谓的Internet计算都属于这一类。按照
Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。
3.2.2 分布计算(Distributed Computing)
另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。
3.3 Linux高性能集群系统
当论及Linux高性能集群时,许多人的第一反映就是Beowulf。起初,Beowulf
只是一个著名的科学计算集群系统。以后的很多集群都采用Beowulf类似的架构,所以,实际上,现在Beowulf已经成为一类广为接受的高性能集群的
类型。尽管名称各异,很多集群系统都是Beowulf集群的衍生物。当然也存在有别于Beowulf的集群系统,COW和Mosix就是另两类著名的集群
系统。
3.3.1 Beowulf集群
简单的说,Beowulf是一种能够将多台计算机用于并行计算的体系结构。通常
Beowulf系统由通过以太网或其他网络连接的多个计算节点和管理节点构成。管理节点控制整个集群系统,同时为计算节点提供文件服务和对外的网络连接。
它使用的是常见的硬件设备,象普通PC、以太网卡和集线器。它很少使用特别定制的硬件和特殊的设备。Beowulf集群的软件也是随处可见的,象
Linux、PVM和MPI。
本文的以后几部分将详细介绍Beowulf集群系统的硬件、网络、软件和应用体系结构。
3.3.2 Beowulf集群和COW集群
象Beowulf一样,COW(Cluster Of Workstation)也是由最常见的硬件设备和软件系统搭建而成。通常也是由一个控制节点和多个计算节点构成。COW和Beowulf的主要区别在于:
COW中的计算节点主要都是闲置的计算资源,如办公室中的桌面工作站,它们就是普通的PC,
采用普通的局域网进行连接。因为这些计算节点白天会作为工作站使用,所以主要的集群计算发生在晚上和周末等空闲时间。而Beowulf中的计算节点都是专
职于并行计算,并且进行了性能优化。它们采用高速网(Myrinet或Giganet)上的消息传递(PVM或MPI)进行进程间通信(IPC)。
因为COW中的计算节点主要的目的是桌面应用,所以它们都具有显示器、键盘和鼠标等外设。而Beowulf的计算节点通常没有这些外设,对这些计算节点的访问通常是在管理节点上通过网络或串口线实现的。
因为连接COW中计算节点的通常是普通的局域网,所以COW上的高性能应用通常是象SETI@HOME 这样的SIMD的高吞吐计算。而Beowulf无论从硬件、网络和软件上都对需要频繁交换数据的MIMD应用做了特别的优化。
3.3.3 Mosix集群
实际上把Mosix集群放在高性能集群这一节是相当牵强的,但是和Beowulf等其他集群
相比, Mosix集群确实是种非常特别的集群, 它致力于在Linux系统上实现集群系统的单一系统映象SSI(Single System
Image)。Mosix集群将网络上运行Linux的计算机连接成一个集群系统。系统自动均衡节点间的负载。因为Mosix是在Linux系统内核中实
现的集群,所以用户态的应用程序不需要任何修改就可以在Mosix集群上运行。通常用户很少会注意到Linux和Mosix的差别。对于他来说,
Mosix集群就是运行Linux的一台PC。尽管现在存在着不少的问题,Mosix始终是引人注目的集群系统。
参考资料
Linux HPC Cluster Installation, IBM Redbooks, http://www.redbooks.ibm.com/
IBM eServer xSeries Clustering Planning Guide, IBM Redbooks, http://www.redbooks.ibm.com/
Linux Clustering with CSM & GPFS, IBM Redbooks, http://www.redbooks.ibm.com/
Cluster Computing White Paper, Mark Baker, University of Portsmouth, UK
Beowulf HOW-TO, http://www.beowulf-underground.org
Beowulf Introduction and Overview, http://www.beowulf.org
The Mosix Howto, http://www.mosix.org
OSCAR: A packaged Cluster software stack for High Performance Computing, http://www.openclutergroup.org/
Linux-HA Heartbeat System Design, http://www.linux-ha.org
xCAT HOW-TO, http://www.x-CAT.org
MPICH, http://www.mcs.anl.gov/mpi/mpich.
PVM, http://www.epm.ornl.gov/pvm/pvm_home.html
OpenPBS, http://www.openpbs.org/
Maui, http://www.supercluster.org/
Condor Manual, Condor Team, University of Wisconsin-Madison
GFS, http://globalfilesystem.org/
Intermezzo, http://inter-mezzo.org/
Coda, http://www.coda.cs.cmu.edu/
----------------------------------
Retrieved from: http://www.qqread.com/linux/2006/07/g719155061.html
Definition: http://www.ssc.net.cn/showinfo.asp?categoryid=69