基于校园网的集群服务系统

来源:互联网 发布:网络舆情传播特点 编辑:程序博客网 时间:2024/06/05 06:50
 
摘要  随着计算机技术和网络技术的迅猛发展,高性能计算机集群系统的应用也变得越来越普及。该文首先讨论了校园网中基于Linux环境的集群服务系统,随后以曙光TC4000集群系统为实例重点说明校园网中集群系统的管理、分布以及在校园网中结点的高性能应用。
关键字  集群,高性能,集群服务系统
 
0   
  广义来说,集群就是相互独立的一些系统的集会。它们利用高速通信网络将这些系统按某种结构进行高速互联,这样所构成的一个计算机组叫集群[1]。构成集群的目的是为了提高系统的整体性能、系统的可用性和规模的可扩展性。在集群系统中,每台服务器都承担相应的子任务,因而服务器的个数将与工作效率呈正比例增长。对程序员和用户来说,集群系统就是一个整体的并行系统[2]
  随着技术的进步和需求的增加,往往会出现大规模的科学计算和商业数据处理,如以数据资源为中心的数据库管理系统将面对着越来越复杂的数据处理类型。为了提高信息处理的效率,许多大学都开始引入和使用高可靠性、高性能的集群系统。本文将详细讨论基于校园网的集群分布以及集群系统在校园网中的应用与管理,并以曙光TC4000的集群系统为实例,说明集群技术在校园网中高性能应用的实现框架。
 
1    基于Linux平台的集群系统
  九十年代末期,Linux操作系统不断走向成熟。它的健壮性不断增强,并且提供了GNU软件和标准化的PVM、MPI消息传递机制。最重要的是Linux在普通PC机上提供了对高性能网络的支持,这样就大大推动了基于Linux的集群系统的发展[2]
  按照侧重点的不同, 可以把Linux 集群分为三类:科学集群、负载均衡集群和高可用性集群。科学集群通常涉及为集群开发并行编程的应用程序, 以解决复杂的科学问题, 这是并行计算的基础。它不采用并行超级计算机体系结构,而是通过高速通信链路来连接多台独立的计算机系统,并在公共消息传递层上进行通信以运行并行应用程序。随着计算机技术与通信技术的迅猛发展,其处理能力能够与超级计算机相媲美。
  负载均衡集群目的是提供和节点个数成正比的负载能力, 常用于提供大访问量的Web服务,以及企业的管理信息系统。该系统能够将整个系统的运行负载分摊到不同的节点上, 以减轻传统单节点运行的负担。这样的系统非常适合于运行同一组应用程序的大量用户。每个节点都可以处理一部分负载, 以分摊整个系统的运行压力,达到一个负载的相对平衡。同时对网络流量的处理也是如此。当一台网络服务器接收到过多的网流量时, 它很难对这些流量进行及时的处理和快速的响应。此时系统就需要将这些流量转发给其它具有相同功能的网络服务器上,以实现对信息的及时处理和快速响应。Turbo Linux Cluster Server、Linux Virtual Server 等都属于负载均衡集群系统。
  高可用性集群系统一般运行于多个节点上。当系统出现单点故障时, 该系统仍能继续对外提供服务。高可用性集群系统的设计思想就是要最大限度地减少服务中断时间,保证系统能够不间断地工作。如果集群中的主节点发生了故障, 则其它节点将在很短的时间内接管主节点的工作,继续提供服务。高可用性集群系统通常使用多个节点提供系统的冗余和服务, 并相互协调工作。因此, 对于用户而言, 集群永远不会停机。[3]
  真正的集群服务系统不仅仅体现在硬件的集成上,而且客户应用和客户管理也应该是并行的。目前北京化工大学的流体力学集群系统共有17个节点。如果其中某个节点出现故障,则管理结点能够及时检测到这个故障,并将该节点任务移交给其它的节点。另外,对集群系统用户来说,最关键的问题就是要把客户的应用程序和管理系统有机地结合起来[4]
 
2    校园集群系统管理
  北京化工大学流体力学高性能计算集群服务器采用的是曙光TC4000集群系统服务器产品。系统中的服务器之间采用SCI高速集群卡进行连接,以形成松耦合的多处理机系统。从用户的角度来看,集群就是一个整体的并行系统,主要通过消息传递方式实现各主机之间的通信。
与传统的超级计算机相比,集群系统的主要特点是:
  ● 高可用性:整个系统是由多个结点通过SCI高速网络进行互联,并形成一个完整的系统。
  ● 高并行处理能力:多结点间通过并行环境和并行程序设计实现应用的高效并行处理。
  ● 负载均衡:通过在多个结点上实现应用的负载均衡,极大地发挥节点的运行效率。
  ● 管理便捷性:通过集群系统软件和集群管理软件能够对整个集群实现单一的管理。
 
  北京化工大学所采用的高可用性集群系统是一个企业级的集群集群方案,它允许在多个计算机上构建高可用的、可扩展的网络。系统中有一个控制结点,主要负责对集群的管理和运行。集群技术不仅具有良好的可用性、可扩展性和可管理性,而且可以显著地提高基于TCP/IP协议的多种网络服务的服务质量,如Web、Mail、News和Ftp等。一般集群系统的结构如图1:

图1 集群系统的结构
 
  当客户向集群系统发送一个请求时,该请求首先到达高级流量管理器。高级流量管理器通过一定的调度策略将此请求转发到集群中的某一台实际服务器上,并对此请求进行处理,最终的回应请求将直接发送给客户。由于最终的回应请求没有通过高级流量管理器而是直接发送给客户,所以这样就大大减轻了高级流量管理器上的负载,从而降低了产生瓶颈的可能。一般集群系统的调度策略有:轮回(Round Robin)、加权轮回(Weighted Round Robin)和最少连接(Least Connection)。为了减少高级流量管理器产生失效的可能,系统通常为高级流量管理器准备一台备份机。该备份机不断询问管理器来确认它是否正常工作。一旦发现主管理器失效,则备份机将接替高级流量管理器继续工作。
 
3  校园集群实例分析
  集群计算机系统通常采用并行计算体系结构, 它能够把一个海量的计算任务分解成各个子任务, 然后获得任务的各节点将进行并行计算[5]。一般来说,集群中的节点可以被划分为6种类型:
  ● 用户节点(User Node):这是外部用户访问集群系统的网关。用户通常要登录到这个节点来编译和运行作业。
  ● 控制节点(Control Node):用于调度和管理计算节点上的作业。通常情况下,集群的作业调度程序(如PBS)应该运行在这个节点上。
  ● 管理节点(Management Node):管理网络的控制点,用户监控集群中各个节点和网络的运行状况。
  ● 存储节点(Storage Node):用于集群系统的数据存储器和备份。
  ● 安装节点(Installation Node):提供集群系统所需要安装的各类软件。
  ● 计算节点(Computing Node):它们是整个集群系统的计算核心。主要功能就是执行计算。  
  尽管结点类型很多,但并不是说一台计算机只能是一种类型的节点。一台计算机所扮演的节点类型一般是由集群的实际需求和计算机的配置来决定的。在我校的集群系统中,用户节点、控制节点、管理节点、存储节点和安装节点就存放在同一台计算机上,这台计算机通常被称为主节点。北京化工大学高性能集群服务器系统是由16个计算节点和一个主节点组成。其具体集群系统的分布图如图2所示:

图2 集群分布图
 
  当用户的作业量较大时,用户通常将需要计算的作业上传或上传(使用ftp)到服务器上。然后再使用远程登录程序,如telnet登陆到服务器上,并运行或启动相应的程序。当计算完之后,用户可以使用get命令将结果下载到用户本地计算机上。
 
  系统中的主节点负责进行作业分配计算。主节点通常通过监视各个节点的状态以及节点上的应用程序运行状态来实现作业的分配。当发现某些节点已经失效时,系统可以重新配置系统并且将工作负载交给那些能够运行正常的计算机节点来完成[6]。通过这种方法,集群管理器可以自动屏蔽服务器和其上运行的服务程序的失效,并且当失败的服务器运转正常后,它还能够重新加入到集群系统中。
为了更好地说明管理节点分配计算任务的情况,下面详细说明用户节点提交作业时,管理节点记录各个用户节点使用集群总时间以及如何分配作业的具体情况。统计集群五天的使用情况,如图3所示:

图3 集群使用示意图
 
  管理节点记录了连续五天中各个楼的用户使用机群的情况:工程楼使用集群进行计算26小时,化机楼使用32小时,机械楼使用12小时。其它的化机楼,有机楼和化纤楼都没有使用记录。这可能是因为有的节点没有提交作业到管理节点,而是在自己的机器上进行计算,在集群上就没有使用的纪录。
  管理节点记录的同时,并监视各个节点的状态以及节点上的应用程序运行状态来实现作业的有效分配。据统计工程楼提交的作业曾分配在node1、node7、 node10上进行计算,化机楼提交的作业曾分配在node1、node8、node15上进行计算,机械楼提交的作业曾分配在node1、 node17上进行计算。
 
总结
  由于集群系统具有投资风险小、可扩展性好、开发周期短,并且可以继承现有软件和硬件资源,所以与传统的并行处理系统相比集群系统有更多明显的优势。
  本论文不仅分析了集群服务系统在校园网中的高性能应用,而且给出了其高性能应用的具体实现框架,并进一步说明了在校园网中使用集群这一方案的可行性。校园网中集群服务系统的引入不仅能够大大地提高学校的资源利用率,而且能够有效地、及时地完成吞吐量大的科学计算和商业数据运算。集群技术随着服务器硬件系统与网络操作系统的发展将会在可用性、高可靠性和系统冗余等方面得到进一步地提高和完善。
  未来的集群系统可以依靠集群文件服务系统实现对系统中的所有文件、设备和网络资源的全局访问,并且生成一个完整的系统映像。这样,无论应用程序在集群系统中的哪台服务器上,集群文件系统都允许合法用户(远程或本地)对这个文件进行访问,同时任何一个应用程序只要规则允许都可以访问这个集群系统中的任何文件。系统中的应用程序和文件也都能够实现在结点之间的平滑迁移。由此可见,集群技术的实施将对未来校园的信息化建设起着越来越重要的作用。
 
 
参考文献:
[1] 胡凯,《集群计算》, 计算机世界,2001-02.
[2] Linux Clustering with CSM & GPFS, IBM Redbooks, http://www.redbooks.ibm.com/.
[3] 李俊照,罗家融.“基于Linux集群的并行计算”.计算机测量与控制,3004年第12卷第11期,P1064-1067.
[4] 刘东远,骆珍仪.“在校园网实施部署集群服务”.中山大学学报论丛, 2003 年第23 卷第3 期,P212-215.
[5] 应吉康,赵书钦.“Linux集群技术”.微型电脑应用,2001年第17卷第1期,P5-7.
[6] 莫则尧.《消息传递并行编程环境》,科学出版社,2001-11.
引文出处:http://www.ahcit.com/lanmuyd.asp?id=1742