陈红梅 张纪英
摘 要: 研究了集群的系统结构和主要优势,以及集群式高性能计算系统的诞生;分析了集群式高性能计算系统的架构和构建方式,集群构建包括网络部署、存储系统、计算节点、管理节点、登录节点等部分。在此基础上构建了基于Linux的集群式高性能计算系统。
关键词: 集群技术; 高性能计算; 系统架构; 集群构建
中图分类号:TP399 文献标志码:A 文章编号:1006-8228(2015)07-13-02
Research of high performance computing cluster
Chen Hongmei, Zhang Jiying
(Jianghan University Institute for Interdisciplinary Research, Wuhan, Hubei 430056, China)
Abstract: This paper researches the system architecture and the main advantages of the cluster, then analyzes the framework of the high performance computing cluster. The high performance computing cluster is composed of computing network, management network, storage system, compute nodes, log-on nodes, etc. On the basic of the above research, Jianghan University built the high performance computing cluster based on Linux.
Key words: cluster technology; high performance computing; framework of the high performance computing cluster; cluster building
0 引言
随着社会的发展,各个领域对高性能计算的需求越来越迫切。高性能计算已被公认为继理论科学和实验科学之后的第三大科学研究方法,是科技创新的重要手段[1]。在当前社会情况下,高性能计算已经成为一个国家综合实力的体现,对国家战略的发展有着重要影响。由此可见,高性能计算机是信息产业的重要领域,是现代社会科学研究、社会服务和经济活动中一种极为重要且不可或缺的战略工具。
网络技术的快速发展和处理器性能的迅速提高,让越来越多的人开始用相对便宜的以太网把相对廉价的服务器连接起来组成集群使用,从而以较少的代价获得较高的性能。集群已成为高性能计算机研究开发的一个方向,尤其是基于Linux的集群式高性能计算系统就有“穷人的超级计算机”之说。
1 计算机集群技术
1.1 集群的概念
集群就是一组相互独立的、通过高速网络互联的计算机,这些计算机能够协同工作,并对外表现为一个集成单一的计算机资源。美国著名的阿伯丁公司(Aberdeen Group Inc)对计算机集群系统下的定义为——计算机集群是一种多节点的计算机,具有以下特点:
⑴ 从用户、程序员、操作员及管理员角度看,它相当于一个单一的系统;
⑵ 可以提高可靠性;
⑶ 具有在集群范围内统一的操作与管理特征;
⑷ 为打印队列、批作业队列、文件系统以及外部设备等在集群范围内共享;
⑸ 完美的增量式扩充能力;
⑹ 通过互连与技术选择可以进行灵活的配置。
1.2 集群的系统结构
根据典型的集群体系结构,其中涉及到的主要技术可以归属于四个层次。
⑴ 网络层:包括通信协议和网络互联结构等。
⑵ 节点机和操作系统层:包括高性能客户机、分层或基于微内核的操作系统等。
⑶ 管理层:包括负载平衡、资源调度、资源管理、安全问题和并行I/0等。
⑷ 应用层:包括并行程序开发环境和并行应用等。
集群技术是上述四个层次的有机结合,各层次虽然侧重领域有所不同,但都有其不可或缺的重要性[2]。管理层是集群系统所特有的功能与技术的体现,正是集群管理系统把多台计算机组织起来,使之可以被称为“集群”。
1.3 集群的主要优势
集群系统之所以能够从技术可能发展到实际应用,主要原因是它与传统的并行处理系统相比具有高性价比、高性能、高可用性和高可扩展性等几个明显优势。
⑴ 高性价比
集群技术是使用特定方式,将符合工业标准的硬件设备连接起来。在同样性能的条件下,采用计算机集群比采用同等运算能力的大型计算机具有更高的性价比。
⑵ 高性能
像天气预报、核试验模拟等这样的计算密集型应用,需要计算机具有很强的运算处理能力。对于这些应用,一般都使用集群技术,集中几十甚至上百台计算机来满足需求。集群技术研究的一个重要目标之一就是提高处理性能。
⑶ 高可用性
集群技术使系统在一个节点失效后,它的任务可以传递给其他节点。从而在故障发生时集群系统仍可以继续工作,将系统停运时间减到最小。
⑷ 高可扩展性
采用集群技术时,若想扩展系统能力,只需要将新的服务器加入集群中即可。对于用户来说,服务的连续性几乎没有变化,好像系统在不知不觉中完成了升级。
2 集群式高性能计算系统
2.1 集群式高性能计算系统的诞生
集群式高性能计算系统是使用高速通信网络将多台原本独立、完整的微机或工作站连接在一起,构成一个统一的整体,使之可作为一种单一的计算资源来使用。与SMP和MPP相比,集群具有更高的可扩展性、可用性和易维护性,而且价格低,性价比高。
二十世纪九十年代中期,随着微处理器和动态随机存储器速度的提升以及PCI总线的出现,个人电脑市场日趋成熟。另外,在互联网的浪潮之下,局域网技术也迅速发展,在带宽和延迟上与传统高性能计算机所采用的专有网络的差距也日渐减少。在软件方面,1991年出现的Linux操作系统,到1994年已经相当稳定[3];1993年发布的基于消息传递的并行程序设计标准MPI,是一种由国际组织维护的国际标准,并有许多厂商为其提供具体的实现版本。至此,集群式高性能计算系统的出现可谓是万事俱备。
美国航空航天局(National Aeronautics and Space Administration,NASA)Goddard 航天中心的Beowulf 项目为集群式高性能计算系统的研究带来了突破。1994 年名为Wiglaf 的第一台Beowulf 集群在Goddard 航天中心诞生,1995 年第二代Beowulf 集群Hrothgar 建成,1997年第三代Beowulf 集群Loki 和Hyglac分别在LANL 和加州理工学院建成。加州大学伯克力分校(University of California at Berkeley)的NOW(Network Of Workstations)是与Beowulf项目齐名的另一个著名的高性能集群项目。1997 年诞生的NOW-2 ,其运算能力超过10GFLOPS,成为首台进入世界超级计算机500 强(Top500)的集群计算机。
2.2 集群式高性能计算系统的架构
集群式高性能计算系统由多个节点组成,系统构建和管理需要强大的专业技术支撑。集群构建包括网络部署、存储系统、计算节点、管理节点、登录节点等部分[4]。集群式高性能计算系统的一般架构如图1所示。
图1 集群式高性能计算系统架构
集群式高性能计算系统要组建两个主要高速网络:管理网络和计算网络。管理网络一般通过万兆或千兆以太网将计算节点、登录节点、I/O节点和管理节点全相连。计算网络一般使用高速率的Infiniband网络将计算节点和I/O节点全相连。另外,存储系统和I/O节点之间一般通过高速光纤相连。
出于安全和价格方面的考虑,集群式高性能计算系统中各节点一般安装Linux操作系统。在管理层,为了实现对集群的有效管理,集群要安装集群管理工具如IBM for Linux Extreme Cloud Administration Toolkit(XCAT);同时安装作业调度系统如IBM Platform LSF,以实现高性能的负载管理,有效利用集群资源,实现最佳性能。在应用层,要配置相应的编译器和数学库等,并安装配置OpenMPI等并行计算环境。
2.3 集群式高性能计算系统实例
随着高性能计算机和计算方法的快速发展,物理、化学、生物等学科对计算资源有着迫切的需求,国内多所高校和科研院所纷纷开始构建高性能计算平台[5]。江汉大学也构建了集群式高性能计算系统,该系统包括19个计算节点、2个I/O节点、2个登录节点、1个管理节点、一组管理网络、一组计算网络。管理网络通过万兆以太网将计算节点、登录节点、I/O节点和管理节点全相连。计算网络使用56Gbps速率的Infiniband网络将刀片式计算节点、GPU计算节点、胖节点、登录节点和I/O节点全相连。
江汉大学集群式高性能计算系统的操作系统为Redhat Linux Server 6.4,作业调度系统为IBM Platform,应用开发环境软件为Intel Cluster Studio软件工具包。
3 结束语
计算机集群作为当前世界上并行处理的热点和主流,具有许多明显优势:高性价比、高性能、高可用性和高可扩展性等。集群式高性能计算系统可以采用廉价的符合工业标准的硬件构造高性能的系统,并且可以通过增加CPU个数和内存容量来提高性能。上述优势使得集群式高性能计算系统的研究已经成为并行计算研究开发的一个重要方向。
参考文献:
[1] 李波,曹福毅,王祥凤.高性能计算技术发展概述[J].沈阳工程学院学
报(自然科学版),2012.8(3):252-254
[2] 张洋.计算机集群技术概述[J].信息系统工程,2013.32(5):95
[3] 周兴铭.高性能计算技术发展[J].自然杂志,2011.33(5): 249-254
[4] 林皎,陈玉洁,张武生,徐伟平,杨广文.高性能计算平台建设的探索与
实践[J].实验技术与管理,2012.29(5):217-219
[5] 盛乐标,游伟倩,周庆林.南京大学高性能计算中心建设的探索与实
践[J].实验技术与管理,2013.30(11):144-146