论文部分内容阅读
随着社会不断的进步,人们对高性能计算的需求不断的增加,高性能计算的应用领域已经不再局限于几个尖端科学领域,而是涉及到了社会的方方面面。随着计算机软件和硬件技术的不断发展,通过高速网络设备将普通PC连接而构成的集群系统表现出越来越高的性能,同时由于硬件价格便宜,使得计算机集群系统被越来越多的用户所接受,它也成为了高性能计算机领域中的一个重要分支。 但是集群系统与传统的高性能计算机在硬件方面仍然有差距,要使集群系统体现出高性能、高可用性以及可扩展性,就需要通过对集群系统结构以及集群系统软件的设计来实现。集群的结构设计需要根据具体应用而定,而软件模块的设计则是在结构设计的基础上来完成的。软件模块设计涉及到网络通讯,负载均衡以及高可用性等几个关键模块,它们的设计好坏将直接影响到系统的性能和可靠性,以及将来的扩展能力。 本文介绍了两个集群系统设计实现的实例:一个是用于DVB系统中的基于集群的视频服务器,另外一个是用于决策参考的集群式指标计算系统。无论是视频服务器还是指标计算系统都对系统的计算能力,I/O读写能力有较高的要求,同时还有可靠性的要求。这两个系统传统的实现方法都是基于价格较高的SMP服务器,而通过PC集群的实现,可以达到甚至超过原来系统的性能,同时硬件的却成本明显的下降了。 通过这两个系统的具体实现,我们给出了集群的系统结构解决方法,还给出了集群系统软件设计中一些关键部分的解决方法:在网络通讯中可以使用socket通讯结合线程的方式,或者直接使用MPI消息传递库,来保证通讯的效率;在负载平衡方面可以采用数据的拆分结合内存管理的方法,这样既可以保证系统负载的均衡性同时也不会降低系统使用时的性能。在高可用性设计方面则结合系统中的冗余设备,注重分析系统中任务状态迁移的过程。 系统测试数据证明了这两个系统采用集群方式实现的有效性。根据这两个系统的软件模块设计,我们还总结出了集群系统软件模块的一个系统框架。 论文的章节安排如下:第一章介绍了集群系统的概念,讨论了集群系统的特点以及优势;第二章讨论集群系统设计中的几个关键性问题;第三章介绍了两个集群实例的系统需求以及它们的结构和软件模块的设计方案;第四章结合两个系统的具体实现来讨论如何解决集群系统中的几个关键问题来保证系统的性能;第五章对系统的实现做了总结。