当前位置:文档之家› 高性能计算机系统导论

高性能计算机系统导论

高性能计算机系统导论---------集群计算系统(上海同济大学软件学院2003级王上丹:033290 姚雯:033347)摘要:使用计算机集群系统进行并行计算是一种既经济又高效的解决方法,开发资源丰富,成本低廉。

随着应用程序和各种计算对计算机性能要求的不断提高,集群系统将成为有效解决这以问题的可行的途径。

本文主要通过对集群系统(设计原理,需要解决的问题,软硬件需求等)的分析和研究来学习体系结构中集群计算系统以及分布式计算的相关知识,并希望通过这样的学习,可以更好的理解和学习体系结构中的相关知识。

关键词:集群系统;分布式计算;并行计算;体系结构;通信协议;SMP(对称多处理器)负载均衡说明:本论文主要包括6个部分: 概述集群技术简介集群原理和实现集群技术支持(主要针对负载均衡)集群技术的机遇与挑战结束语本文的目的是希望读者能对其有一个初步的了解,由于技术研究方面,所涉及的知识确实非常广泛,不可能一一叙述,面面俱到,故选取了其中可扩展性集群技术中的负载均衡的技术进行一个深入分析。

概述(前言)随着科学技术的不断发展,计算机的性能有着飞速的发展,尤其是最近一、二十年间,计算机的性能几乎以成倍的速度在增长,我们不难发现,这样的发展的速度正由于相关科技(微电子,体系结构,纳米技术等)的限制而渐渐放慢,但是对于计算机性能的提高却从来没有停止过。

所以必然面临这样的问题,当通过单处理机的性能提高无法满足不断提高的性能需求,就需要设计一种新型的,高性能的计算机系统。

在过去的几十年里,出现了许多支持高性能计算的计算机系统,最为普通的系统是:大规模并行处理器(MPP)、对称多处理器(SMP)、Cache一致性的非统一内存访问(CC-NUMA)、分布式系统、集群系统(Cluster)。

其中集群系统以其高性价比的突出特点成为一大研究热点。

而本文主要讲述了集群系统这个体系系统。

早在20世界60年代,IBM公司就提出了集群计算系统,其基本的思想是将大型计算机连接起来通过合理的交互以共同完成某种并行计算。

但是由于当时的各种技术的限制,特别是软硬件的成本较高,这种思想并不能很好的商业化。

直到20世界80年代,随着高性能低价位的微处理器,高速网络的和分布式软硬件工具的发展,集群计算系统才有了发展的物质条件。

最初的集群系统是为了获得高性能的计算系统,一方面不断增加处理器的运算速度以及磁盘容量,另一方面将多个处理器连起来,使得可以使用多个处理器的共有计算能力,这样就成为了早期的并行超级计算机。

由于资源和成本的限制,早期的这种并行超级计算机并没有得到很好的发展,但是这种理念已经成为众多的计算机研究人员所投入研究的一个方向。

到20世界90年代后,各种技术的不断成熟,使得集群系统这种超级计算机得到了飞速发展,产生了很多典型的系统,其中包括:①Beowulf、②Berkeley NOW、③HPVM、④Solaris MC 四大集群环境。

如今,这些集群计算机已经广泛运用于社会生活的方方面面。

本文将主要讲述这些集群计算机的体系结构以及相关问题。

①Beowulf 是基于Linux和Grendel(系统软件工具包)之上的pc机集群,采用TCP/IP多个以太网完成节点间信息交换,主要特点是能够构造“最佳”性能价格比的集群系统。

②Berkeley NOW 是基于Solaris(分布式操作系统)、Glinux和xFS(无服务网络文件系统)之上的工作站集群,节点间利用MyriNET网络和活动消息进行信息传递,其主要的特点是用大量生产的商品化工作站和最先进的给予开关网络部件构造大型并行计算系统。

③HPVM(高性能虚拟机)是基于Windows NT、Linux和LSF(负责分配器—负责资源分配)之上的PC机集群,采用快速消息的MyriNET网络进行节点间数据交换,主要特点是采用高带宽低延迟的通信协议FM(快速消息)。

④Solaris MC是基于Solaris和全局层操作系统之上的PC机或工作站集群,用高速网络将计算机节点联机起来,使用面向对象的框架在节点间进行通信,支持多个或多样网络相互连接。

集群计算技术的简介:集群是一种并行或分布式多处理系统,该系统由两个或多个计算机(简称为节点)通过网络连接而成。

节点可以是一台PC机,也可以是工作站或者SMP,分别构成PC集群,工作站集群,SMP集群。

每一个节点都由单独的处理器、主存储器、辅助存储器、I/O接口及操作系统。

可以单独执行串行应用程序,也可以作为集群中的一个节点执行并行的应用程序,协同完成并行任务。

对于用户而言,这样的集群得像是一个单一的系统,独立地拥有系统中的所有资源,而不需要考虑这些资源是在本地还是远程。

该系统能够提供一种价格合理、具有高性能和高可用刑的并行计算方案。

如图所示:图一集群计算机体系结构粗略图集群系统通过功能整合和古战过渡实现了系统的高可用性和可靠性。

每个节点都承担部分计算任务和容错任务,当其中一台服务器或者Pc出现故障时,系统使用软件支持将其隔离,使其不影响其它PC/服务器的工作。

多台同构或者异构的计算机用墨中方式连接起来协同完成特定的任务就构成了集群系统。

集群架构目前常见的集群架构有两种:Web/Internet Cluster System 和平行运算(Parallel Algorithms Cluster System)。

前者主要将资料放臵在不同的主机上,亦即由多部主机同时负责一项服务;后者将同一个运算的工作,交给整个Cluster 里面的所有的CPU来进行同步运算,由于使用到多个CPU的运算能力,所以可以加快运算的速度。

典型的集群系统的体系结构如图一所示。

资源管理与负载平衡集群计算机一般是多用户(Multi-user)、分时共享(Time-sharing)的系统。

集群系统的主要目标是通过网络互联实现全系统范围内的资源的共享,同时通过高效的资源管理和任务调度技术实现资源的有效共享,从而提高资源利用率,获得高性能。

为了使有独立的机器组成的集群系统工作起来,且形成对用户透明的单一系统必须为其提供调度、负载平衡和共享服务。

资源(包括CPU,存储设备,I/O等)管理与调度:是集群计算技术中一个非常重要的方面,从系统的角度来看,集群系统的资源使用率是最重要的问题。

系统资源使用越高,说明系统的吞吐能力越大,资源共享的效果也越好。

负载平衡的实现机制有两种:初始放臵或者远程执行,初始放臵技术是当进程在某一个计算节点产生时,根据负载平衡的要求将进程转移到其它的节点远程执行的方法。

集群硬件平台集群中间件集群中间件处于节点操作系统与用户环境之间,它与操作系统一起为所有的节点提供访问系统资源的各种途径,集群系统的设计目标集中体现在支持应用程序的资源管理,系统可扩展性和可用性的完全透明。

中间件应提供以下主要服务。

唯一地址空间:将属于集群的各节点内存作为共享内存,进行统一编制(包括I/O)唯一用户界面:用户可以通过为一的GUI使用集群。

唯一的进程空间:每一个进程可以在同一个节点或不同的节点声称自进程或与任意的远程节点的其他进程交换信息。

唯一作业管理:用户可以用透明的作业提交机制在任意节点提交作业,昨夜可以批处理,交互式或者并行模式被调度执行。

检查点设臵:检查点机制使进程状态和中间结果得以定期保存,当节点实效是故障节点的进程可以在另一个正在工作的节点上重新开始,而不会丢失计算结果。

进程迁移:是集群间的节点负载达到动态平衡。

除此以外,还包括单点管理和控制、唯一虚拟网络,唯一文件层次等功能。

集群中的通信网络通信网络是集群中最关键的部分之一,士集群的主要瓶颈,他的速度,容量和性能直接影响着整个集群系统。

在集群系统中常使用的网络平台有快速以太网、ATM---异步传输模式、Server NET---系统网、MyriNET、SCI---可扩展并发接口以及内存通道网络等。

在网络平台中起直接也是主要作用的是网络传输协议,下面我们将以Xpress传输协议为例,来说明通信网络在集群中的作用。

我们了解到,在集群系统中,应用程序数据流可能需要从一个处理器复制到一组处理器上,在这种复制传输过程中,传输控制协议TCP在复制数据流时会给每一个接收者建立一个连接,单独处理每一个数据流;而UDP协议可以利用组播完成数据流的复制,虽然提高了传输效率但是它提供低延迟和快速通信的需要。

这些都不能满足集群计算要求低延迟和快速通信的需要,Xpress(XTP)传输协议支持可靠和不可靠传输组播服务、组播组管理、快速建立与拆除连接、支持高吞吐量,递烟池通信服务,具有优先级管理机制、速与突发控制以及选择性冲发等功能。

XTP传输协议可以单独或与其他传输协议一起运行在IP协议CLNP协议、LLC与MAC协议、异步传输协议ATM之上。

集群中的内存管理集群互联结构首先要确定集群内存模式,也成为编程模式。

其一是共享内存模式,在共享内存模式中有一个共有全局地址空间,使得集群网络对于进程是透明的;虚拟内存管理硬件和软件主要用来将虚拟地址映射到本地或远程物理地址中去,共享内存的互联结构可以将远程内存也映射到本地应用程序之中。

共享内存的互联结构可以将远程内存也映射到本地应用程序之中。

其二是分布设内存模式,在分布设内存模式中使用小心传递软件使得网络对应用程序是可见的;通过发送/接受API(应用程序接口)调用。

将数据发送到其他的节点或接收其他的节点传来的数据。

与共享内存模式相比,用户必须明确地调用通信历程才能发送或者接收数据。

集群软件平台操作系统Linux操作系统Solaris操作系统Windows NT操作系统编程环境集群中的每一个用户可以使用不同的编程工具,开发和调试自己的分布式成熟,因此,集群环境应该包括接口,API和传统开发工具等等,共同为用户提供丰富的开发环境。

PVM:并行虚拟机。

其功能是可以使由不同网络连接起来的异构计算机的结合作为一致而灵活的并发计算资源,即是应用环境又是消息传递库。

MPI:消息传递接口。

是消息传递的详细说明,用作为明确的消息传递分布存储并行计算机的标准,该接口设图建立一个使用的可以只的,有效的灵活的消息传递标准。

管理软件 软件用来提高并行处理器的可访问性,大多数传统的控制者-工作者代码是用C 或者FORTRAN编写的,并使用消息传递库来提供控制者-工作这之间的进程通讯。

其主要的缺点是程序员需要了解传递,数据传递,分布式管理和安全的内在机制,最终用户仍需要掌握一些并行任务计划来请求资源,以便运行应用程序。

而 消除了这些障碍,使用户或者程序员可以采用面向对象的方法完成任务。

还有很多应用于集群中的管理软件在此不再一一列举。

集群计算系统的三大技术高可用性集群技术(High Availability Cluster (HA Cluster))是指以减少服务中断(宕机)时间为目的的服务器集群技术。

相关主题