因为几乎每个Beowulf集群的设计者都有自己的Beowulf集群的定义,恐怕很难给Beowulf集群下一个确切的定义。一些人认为只有那些采用和原始的Beowulf集群系统一样方法构建的系统才叫Beowulf集群。而另一些人则认为凡是能够在多个工作站上运行并行代码的系统都称为Beowulf集群。这里我们只是列举多数Beowulf集群具有的特征作为Beowulf集群的定义:
- Beowulf是一种系统结构,它使得多个计算机组成的系统能够用于并行计算。
- Beowulf系统通常有一个管理节点和多个计算节点构成。它们通过以太网(或其他网络)连接。管理节点监控计算节点,通常也是计算节点的网关和控制终端。当然它通常也是集群系统文件服务器。在大型的集群系统中,由于特殊的需求,这些管理节点的功能也可能由多个节点分摊。
- Beowulf系统通常由最常见的硬件设备组成,例如,PC、以太网卡和以太网交换机。Beowulf系统很少包含用户定制的特殊设备。
- Beowulf系统通常采用那些廉价且广为传播的软件,例如,Linux操作系统、并行虚拟机(PVM)和消息传递接口(MPI)。
2 Beowulf集群的分类
由于一些特殊的目的如系统性能,有些Beowulf集群系统也采用一些用户定制的设备(它们通常由一家厂商提供)。为了区分这些特殊的系统,通常把Beowulf分为两大类:
2.1 第一类Beowulf集群(CLASS I Beowulf)
这一类Beowulf集群全部由COTS设备组成。第一类Beowulf系统的优点是:
- 硬件设备由多个来源,通常具有廉价和易管理维护的特点。
- 不依赖于单个硬件供应商
- 所有设备驱动都由Linux开发社团提供
- 通常都是标准设备,例如,SCSI、以太网等等
当然第一类Beowulf集群的缺点也是非常显然的。由于所采用的硬件都没有经过性能优化,所以其很难达到很好的性能。比如,由于以太网的高延迟和低带宽使得集群系统中消息传递很难达到MIMD应用的需求,从而使整个集群系统的计算能力大打折扣。
2.2 第二类Beowulf集群(CLASS II Beowulf)
第二类Beowulf集群是指那些采用了用户定制设备的Beowulf集群。这类集群系统最大优点是具有很好的性能。例如,采用Myrinet作为集群系统的IPC网络可以极大地提供进程间消息传递延迟和速度。当然它的缺点就是依赖于单个硬件提供商而且价格高昂。
不能说,哪一类集群绝对优于另一类集群。这依赖于你的集群系统的需求和预算。
3 Beowulf集群体系结构
如上所述,现实中存在形形色色的Beowulf集群。虽然它们都是原始Beowulf集群的衍生物,但是它们的体系结构也存在各种各样微小的差异。本文以IBM eServer Cluster 1300为例来阐述Beowulf集群体系结构和系统组成。
图1是Cluster 1300上Beowulf集群的系统视图
图1是Cluster 1300上Beowulf集群的系统视图。无论是管理节点(Master Node)和计算节点都是Intel IA32架构的xSeries PC服务器。它们通过网络(以太网和Myrinet)相连接。所有的节点都运行Linux操作系统。运行在计算节点上的并行应用程序采用MPI进行完成并行进程间的通信。计算节点通过管理节点和外部LAN相连。整个集群系统都在一套集群管理工具监控之下。
图 2 Cluster1300上Beowlf集群组件
图 2 是 Cluster 1300上Beowulf集群的组件视图。它揭示了Beowulf集群的组成部分。通常Beowulf集群由四个层次构成:
- 硬件:主要是指Intel IA32架构的PC服务器。
- 网络:指用于节点间通信的局域网(普通的以太网)和并行进程间通信的高速网(Myrinet等高速网)。
- 软件:主要指Linux操作系统和用于并行通信的并行编程库(如MPI和PVM)。
- 并行应用
本文的下面三个小节将分别介绍这四个层次。而本系列文章的后面两片将更详细的介绍它们。
.
分页: [1] [2]
TAG: linux beowulf 集群