高性能计算机系统导论
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高性能计算机系统导论
---------集群计算系统
(上海同济大学软件学院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等)管理与调度:是集群计算技术中一个非常重要的方面,从系统的角度来看,集群系统的资源使用率是最重要的问题。系统资源使用越高,说明系统的吞吐能力越大,资源共享的效果也越好。
负载平衡的实现机制有两种:初始放臵或者远程执行,初始放臵技术是当进程在某一个计算节点产生时,根据负载平衡的要求将进程转移到其它的节点远程执行的方法。