当前位置:文档之家› 集群计算机系统关键技术与应用

集群计算机系统关键技术与应用

探讨集群计算机系统的关键技术与应用
摘要:计算机作为发展最快的行业之一,推动的整个社会发展的步伐和节奏,而集群计算机系统的诞生,提高了计算机的性能、降低了成本以及提升了资源的利用率。

本文通过对集群计算机系统目前发展的现状着手,分析其关键技术与应用,进对提出未来展望。

关键词:集群;计算机系统;并行
中图分类号:tp338
1 引言
随着科学技术的不断发展,人们从观念中改变了对世界的认识,而计算机的普及,把人类推进了信息时代,加快了人类社会发展的步伐。

今天,计算机已经与我们的日常生活紧密相联,而计算机技术的发展,更是越来越多的影响到我们人类的进步。

而社会的快速进步,对计算机的要求也变得越来越高,因此,就出现了很多巨型机或者是并行计算系统,但是带来的却是高成本,可以说,是用高成本换来的高性能。

但是,集成系统的出现从根本上解决了这个尴尬的矛盾,通过把硬件与软件结合在一起,形成一种新的计算机系统,只不过对于用户而言,它还是一个单一的系统。

根据应用的不同,集群系统可以分为两类:高可用集群和高性能集群。

2 集群计算机系统发展现状
自从集群计算机系统这个概念在20世纪90年代时提出后,其发展的十分迅速,而且已成为了国内外研究的热点,它是在服务器领
域当中,已经是必不可少的一部分了。

在集群系统当中,最为关键的一部分就是高性能的网络通信,如今的发展,硬件已经不是集群系统发展的瓶颈,现在影响集群之间通信的因素已经转变到了软件方面,因此,为了获得更好的传输带宽与更低的网络时延,就必须简化网络协议,降低数据之间来回传递的次数。

用户层通信的出现,在集群系统当中得到了广泛使用,因为它的带来降低了系统对通信链路的影响,可以提供更高的带宽和更小的延迟,而数据的来回拷贝仍然限制着集群系统。

近几年来,人们延续用户层通信的思想,提出了一种新的想法,即在集群系统的硬件上设置专门的高速链路和主机适配器,同时还带有很强大的存储资源以及运算能力,能够自主的完成一些通信操作;此外,为了解决拓扑结构当中相互通信的快捷问题,还引入了高速叫唤设备;不但在硬件上提出了众多改进方式,在软件方面也做出了许多努力,根据硬件固有的特点设计出了与之匹配的软件系统,为上层的应用提供了方便的接口,也实现了传统模式当中的tcp/ip通信的完美兼容。

3 集群计算机系统的关键技术及其应用
集群计算机系统是一种高效并行的处理系统,它以高速通信网络为媒介,按照一定的拓扑规则,将多台pc或者是工作站连接在一起,结合上并行程序以及人机交互界面,实现一定的功能。

该系统实际上是由多台具有计算能力的计算机通过一定方式虚拟成一台
具有更高计算能力的计算机。

但是不同的集群系统其构成的难易程度也是不同的,因此,在设计集群系统时,就需要考虑如下几个关
键技术:
3.1 可扩展性
集群系统需要满足不断增加的性能和功能的要求,因此,就需要具有可扩展的能力,这样才会降低系统资源的成本。

一般地,可扩展能力包括资源可扩展性、应用可扩展性以及技术可扩展性这三个方面。

在资源可扩展性当中,主要是指通过增加处理器的数量,添加磁盘、主存等存储部件或者是添加软件等方式,以此来得到更好的性能;在应用可扩展性当中,主要是针对并行计算机能力以及应用程序的扩展,即一个应用程序的运行情况会随着其系统的扩展能力的变化而变化;技术可扩展性,主要由异构可扩展性、代可扩展性以及空间可扩展性这三部分组成,主要是指技术在发生改变时,该系统对技术适应的一个程度情况。

3.2 可用性技术
在集群计算机系统当中,除了要考虑可扩展问题外,还要考虑它可用性,可用性当中包含着可靠性以及可维护性这两个内容。

所谓可用性,就是系统的平均无故障时间,也就是系统正常运行的平均时间,而可维护性就是指用于修复系统时所花费的时间。

因此,为了让系统的可用性提高,就必须要缩短系统的修复时间或者是增加系统平均无故障时间。

而可用性技术主要似乎包括以下几点:(1)增加冗余设备,并且设备之间是相互独立的,这样当一个设备出现故障时,立马有其他备用设备顶上,可以继续提供服务,并且,设备与设备之间要相互隔离,这样才不会因为同一个原因而导致所有
设备都出现故障;(2)故障接管,对于一些商用的集群来说,故障接管是最重要的,当一个部件出现问题时,可以采用技术手段利用多余的部件继续提供服务;(3)恢复技术,就是对于出现故障的部件,采取接管的方式,然后继续完成未完成的工作,恢复技术包含前向和后项两种。

3.3 高效率的通信方式
在集群计算机系统当中,通信子系统是最为重要的组成部分,它帮助各个结点之间进行信息传递,因此,就需要要有良好的通信效率和并行计算时的加速比。

只要提高了结点之间数据通信的效率,就可以改善并行计算的加速比,进而提高整个系统的效率,传统方式中基本上都是以lan为基础,然后采用tcp/ip协议进行通信,这种模式下的通信效率比较低,而且延迟严重,因此就提出了新型的高速网络—atm、以太网等,增加带宽,而通信协议则采用更为简单的协议最为通信机制。

3.4 并行程序设计环境
在并行程序设计环境当中,主要包含以下几个:硬件平台、操作系统、编程语言、调试和性能分析工具等。

在一个集群系统当中,各个结点之间的不同之处在于他们是否有共享的存储器,假如没有共享的存储器的话,那么消息的传递就需要依靠消息传递机制,因此,该机制就变成了进行并行程序设计时所要参考的标准;而如果具有共享存储器的话,那么在进行并行编程时,就需要将变量也共享了。

3.5 资源管理与负载均衡
集群计算机系统当中,如何管理资源以及对负载均衡,是比较重要的问题。

在进行资源管理时,就需要在结点操作系统以及编程中加入集群操作系统,以此来解决资源调度的问题。

而负载均衡问题,实质上就是调度算法的问题,通过均衡不同的任务,让不同的结点共同去处理这些任务,以此来提高各个结点的利用率和处理任务的效率。

例如,集群计算机系统应用到因特网服务器当中,通过将多个服务器连接起来,组建成一个具有高可用性的服务器系统,它可以完美的实现负载均衡、扩展以及容错等,这是传统因特网服务器所不能媲美的;并且,针对用户而言,他们仍然感觉是一个单一的服务器当中进行信息传递,因此,集群系统对用户完全是透明的;而对于一些请求信息,集群系统就需啊哟进行请求分配以及负载均衡策略,以此将用户的请求分配的最优的服务器当中进行处理,进而得到最佳的性能,提高整个集群系统的工作效率。

4 集群计算机系统的未来展望
随着科技的不断进步,集群计算机系统将会聚集越来越多的资源,通过将这些资源按照一种有效地方式进行开发和利用,就可以开发出超高性能的计算机系统,而对这些资源的如何利用,将变成为了集群系统发展的一个挑战,同时,如何降低集群系统的成本,充分利用好资源,是未来集群计算机所要考虑的最为关键的问题。

5 总结
集群计算机系统是当今社会中的一个热点和主流,具有很大的优势,如扩展能力强、高可用性以及高效率等,这些都降推动集群系统的发展与进步,相信在不久的将来,集群计算机系统将成为未来的超级计算机,成为未来高性能计算机的一个主角。

参考文献:
[1]黄恺,棣志伟.可扩展并行计算技术、结构与编程[m].北京:机械工业出版社,2009:298-331.
[2]邱纬民,汤志忠.计算机系统结构[m].北京:清华大学出版社,2008:541-555.
[3]孙家昶,张林波,退学斌等.网络并行计算与分布式编程环境[m].北京:科学出版社,2006:93-142.
作者单位:北京航空航天大学计算机学院,北京 100191。

相关主题