Rocks Cluster助HPC高性能计算机集群在科研计算应用

时间:2010-10-31   来源:   网友评论:0   人气: 1234 作者:

简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。

  集群并不是一个全新的概念,其实早在七十年代计算机厂商和研究机构就开始了对集群系统的研究和开发。由于主要用于科学工程计算,所以这些系统并不为大家所熟知。直到Linux集群的出现,集群的概念才得以广为传播。

  对集群的研究起源于集群系统的良好的性能可扩展性(scalability)。提高CPU主频和总线带宽是最初提供计算机性能的主要手段。但是这一手段对系统性能的提供是有限的。接着人们通过增加CPU个数和内存容量来提高性能,于是出现了向量机、对称多处理机(SMP)等。但是当CPU的个数超过某一阈值,象SMP这些多处理机系统的可扩展性就变得极差。主要瓶颈在于CPU访问内存的带宽并不能随着CPU个数的增加而有效增长。与SMP相反,集群系统的性能随着CPU个数的增加几乎是线性变化的。


  集群系统的优点并不仅在于此,下面列举了集群系统的主要优点:

  高可扩展性:如上所述。

  高可用性:集群中的一个节点失效,它的任务可以传递给其他节点,可以有效防止单点失效。

  高性能:负载平衡集群允许系统同时接入更多的用户。

  高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。

  2、高性能计算机集群简介

  简单的说,高性能计算(High-Performance Computing)是计算机科学的一个分支,它致力于开发超级计算机,研究并行算法和开发相关软件。高性能计算主要应用于如下两类问题的研究。

  *大规模科学问题,像天气预报、地形分析和生物制药等

  *存储和处理海量数据,像数据挖掘、图象处理和基因测序

  顾名思义,高性能集群就是采用集群技术来研究高性能计算。

  影响高性能计算机系统分类的因素有很多,所以从不同的分类标准得出的高性能集群计算机的系统架构也各不相同。但如果考虑到采用大规模生产的商用计算机和同样是大规模生产的商用LAN及ATM网络来制造的话,主要都是如下两种架构。

  目前,主流的PC服务器一般含有一到四个处理器,在一个操作系统的控制下,共同存取一个唯一的内存地址空间。各处理器在内存的存取上是平等的,存取代价是相同的。所以这种系统叫做一致内存存取系统,或叫SMP(对称多处理计算机系统)系统。在这个系统中,处理器是以系统总线、交叉开关或其它专有网络与内存连接在一起。

  SMP系统的最大特点是:一方面,系统架构及共享内存的编程模式的相对简单,所以制造和应用成本很少,为广大中小企业所喜爱。这是我们用于构建集群节点的主要原因。另一方面,它的可拓展性相对较差,一般如果处理器的数量超过四个,那它的制造成本就会变得相当可观。这就制约了它的进一步的发展。

  但是业界为了弥补这种不足,又推出了另外一种系统――分布式内存存取系统。它较之SMP系统的最大特点是没有一个统一的内存空间。这种系统的每一个处理器和它的内存空间构成一个独立的系统,由一个操作系统控制,可以独立运行。在这里我们叫它作节点,这些节点均使用它的网络接口连接到互连网络,并通过网络通信。

  DM系统具有很多优秀的特点:

  1、系统的可拓展性强。拓展成本低,无需使用专用的计算机及定制的网络设备;各个节点可采用通用的LAN或ATM网络连接,技术难度低。

  2、可使用成熟通用的LINUX操作系统作为软件平台。

  3、大量成熟而各具特色的集群软件,如ROCKS CLUSTERS、OPENMOSIX、OSCAR等。

  在方案中,我们使用主流的SMP系统作为集群的节点,互连网络也使用类似Myrinet的高速网,我们把这种系统叫作SMP集群。这种集群可以使用MPI+OPENMP的混合编程模式。在这种模式下,节点内的处理器利用共享内存进行通信,位于不同的节点的处理器在节点之间利用信息传递机制进行通信。这种混合编程模式充分利用了内存共享和信息传递机制的特点,被公认为是最有效的编程模式。


 

文章评论