高性能计算机系统导论.DOC

上传人:天*** 文档编号:580775 上传时间:2018-10-21 格式:DOC 页数:33 大小:1.26MB
下载 相关 举报
高性能计算机系统导论.DOC_第1页
第1页 / 共33页
高性能计算机系统导论.DOC_第2页
第2页 / 共33页
高性能计算机系统导论.DOC_第3页
第3页 / 共33页
高性能计算机系统导论.DOC_第4页
第4页 / 共33页
高性能计算机系统导论.DOC_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、高性能计算机系统导论-集群计算系统(上海同济大学软件学院 2003 级 王上丹:033290 姚雯:033347)摘要:使用计算机集群系统进行并行计算是一种既经济又高效的解决方法,开发资源丰富,成本低廉。随着应用程序和各种计算对计算机性能要求的不断提高,集群系统将成为有效解决这以问题的可行的途径。本文主要通过对集群系统(设计原理,需要解决的问题,软硬件需求等)的分析和研究来学习体系结构中集群计算系统以及分布式计算的相关知识,并希望通过这样的学习,可以更好的理解和学习体系结构中的相关知识。关键词:集群系统;分布式计算;并行计算;体系结构;通信协议;SMP(对称多处理器)负载均衡说明:本论文主要包

2、括 6 个部分: 概述 集群技术简介 集群原理和实现 集群技术支持(主要针对负载均衡) 集群技术的机遇与挑战 结束语本文的目的是希望读者能对其有一个初步的了解,由于技术研究方面,所涉及的知识确实非常广泛,不可能一一叙述,面面俱到,故选取了其中可扩展性集群技术中的负载均衡的技术进行一个深入分析。概述(前言)随着科学技术的不断发展,计算机的性能有着飞速的发展,尤其是最近一、二十年间,计算机的性能几乎以成倍的速度在增长,我们不难发现,这样的发展的速度正由于相关科技(微电子,体系结构,纳米技术等)的限制而渐渐放慢,但是对于计算机性能的提高却从来没有停止过。所以必然面临这样的问题,当通过单处理机的性能提

3、高无法满足不断提高的性能需求,就需要设计一种新型的,高性能的计算机系统。在过去的几十年里,出现了许多支持高性能计算的计算机系统,最为普通的系统是:大规模并行处理器(MPP) 、对称多处理器(SMP) 、Cache 一致性的非统一内存访问(CC-NUMA) 、分布式系统、集群系统(Cluster ) 。其中集群系统以其高性价比的突出特点成为一大研究热点。而本文主要讲述了集群系统这个体系系统。早在 20 世界 60 年代,IBM 公司就提出了集群计算系统,其基本的思想是将大型计算机连接起来通过合理的交互以共同完成某种并行计算。但是由于当时的各种技术的限制,特别是软硬件的成本较高,这种思想并不能很好

4、的商业化。直到 20 世界 80 年代,随着高性能低价位的微处理器,高速网络的和分布式软硬件工具的发展,集群计算系统才有了发展的物质条件。最初的集群系统是为了获得高性能的计算系统,一方面不断增加处理器的运算速度以及磁盘容量,另一方面将多个处理器连起来,使得可以使用多个处理器的共有计算能力,这样就成为了早期的并行超级计算机。由于资源和成本的限制,早期的这种并行超级计算机并没有得到很好的发展,但是这种理念已经成为众多的计算机研究人员所投入研究的一个方向。到 20 世界 90 年代后,各种技术的不断成熟,使得集群系统这种超级计算机得到了飞速发展,产生了很多典型的系统,其中包括:Beowulf、Ber

5、keley NOW、HPVM、Solaris MC 四大集群环境。如今,这些集群计算机已经广泛运用于社会生活的方方面面。本文将主要讲述这些集群计算机的体系结构以及相关问题。Beowulf 是基于 Linux 和 Grendel(系统软件工具包)之上的 pc 机集群,采用 TCP/IP 多个以太网完成节点间信息交换,主要特点是能够构造“最佳”性能价格比的集群系统。Berkeley NOW 是基于 Solaris(分布式操作系统) 、Glinux 和 xFS(无服务网络文件系统)之上的工作站集群,节点间利用 MyriNET 网络和活动消息进行信息传递,其主要的特点是用大量生产的商品化工作站和最先进

6、的给予开关网络部件构造大型并行计算系统。HPVM(高性能虚拟机)是基于 Windows NT、Linux 和 LSF(负责分配器负责资源分配)之上的 PC 机集群,采用快速消息的 MyriNET 网络进行节点间数据交换,主要特点是采用高带宽低延迟的通信协议 FM(快速消息) 。Solaris MC 是基于 Solaris 和全局层操作系统之上的 PC 机或工作站集群,用高速网络将计算机节点联机起来,使用面向对象的框架在节点间进行通信,支持多个或多样网络相互连接。集群计算技术的简介:集群是一种并行或分布式多处理系统,该系统由两个或多个计算机(简称为节点)通过网络连接而成。节点可以是一台 PC 机

7、,也可以是工作站或者 SMP,分别构成 PC 集群,工作站集群,SMP 集群。每一个节点都由单独的处理器、主存储器、辅助存储器、I/O 接口及操作系统。可以单独执行串行应用程序,也可以作为集群中的一个节点执行并行的应用程序,协同完成并行任务。对于用户而言,这样的集群得像是一个单一的系统,独立地拥有系统中的所有资源,而不需要考虑这些资源是在本地还是远程。该系统能够提供一种价格合理、具有高性能和高可用刑的并行计算方案。如图所示:集群中间件Pc/工作站(处理器,存储器,I/O ,操作系统等)Pc/工作站(处理器,存储器,I/O ,操作系统等)Pc/工作站(处理器,存储器,I/O ,操作系统等)高 速

8、 网 络串行程序 并行程序下文中将进行详细的阐述图一 集群计算机体系结构粗略图集群系统通过功能整合和古战过渡实现了系统的高可用性和可靠性。每个节点都承担部分计算任务和容错任务,当其中一台服务器或者 Pc 出现故障时,系统使用软件支持将其隔离,使其不影响其它 PC/服务器的工作。多台同构或者异构的计算机用墨中方式连接起来协同完成特定的任务就构成了集群系统。集群架构目前常见的集群架构有两种:Web/Internet Cluster System 和平行运算(Parallel Algorithms Cluster System) 。前者主要将资料放置在不同的主机上,亦即由多部主机同时负责一项服务;后

9、者将同一个运算的工作,交给整个 Cluster 里面的所有的 CPU 来进行同步运算,由于使用到多个 CPU 的运算能力,所以可以加快运算的速度。典型的集群系统的体系结构如图一所示。资源管理与负载平衡集群计算机一般是多用户(Multi-user) 、分时共享(Time-sharing)的系统。集群系统的主要目标是通过网络互联实现全系统范围内的资源的共享,同时通过高效的资源管理和任务调度技术实现资源的有效共享,从而提高资源利用率,获得高性能。为了使有独立的机器组成的集群系统工作起来,且形成对用户透明的单一系统必须为其提供调度、负载平衡和共享服务。资源(包括 CPU,存储设备,I/O 等)管理与调

10、度:是集群计算技术中一个非常重要的方面,从系统的角度来看,集群系统的资源使用率是最重要的问题。系统资源使用越高,说明系统的吞吐能力越大,资源共享的效果也越好。负载平衡的实现机制有两种:初始放置或者远程执行,初始放置技术是当进程在某一个计算节点产生时,根据负载平衡的要求将进程转移到其它的节点远程执行的方法。集群硬件平台集群中间件集群中间件处于节点操作系统与用户环境之间,它与操作系统一起为所有的节点提供访问系统资源的各种途径,集群系统的设计目标集中体现在支持应用程序的资源管理,系统可扩展性和可用性的完全透明。中间件应提供以下主要服务。唯一地址空间:将属于集群的各节点内存作为共享内存,进行统一编制(

11、包括 I/O)唯一用户界面:用户可以通过为一的 GUI 使用集群。唯一的进程空间:每一个进程可以在同一个节点或不同的节点声称自进程或与任意的远程节点的其他进程交换信息。唯一作业管理:用户可以用透明的作业提交机制在任意节点提交作业,昨夜可以批处理,交互式或者并行模式被调度执行。检查点设置:检查点机制使进程状态和中间结果得以定期保存,当节点实效是故障节点的进程可以在另一个正在工作的节点上重新开始,而不会丢失计算结果。进程迁移:是集群间的节点负载达到动态平衡。除此以外,还包括单点管理和控制、唯一虚拟网络,唯一文件层次等功能。集群中的通信网络通信网络是集群中最关键的部分之一,士集群的主要瓶颈,他的速度

12、,容量和性能直接影响着整个集群系统。在集群系统中常使用的网络平台有快速以太网、ATM-异步传输模式、Server NET-系统网、MyriNET 、SCI- 可扩展并发接口以及内存通道网络等。在网络平台中起直接也是主要作用的是网络传输协议,下面我们将以 Xpress 传输协议为例,来说明通信网络在集群中的作用。我们了解到,在集群系统中,应用程序数据流可能需要从一个处理器复制到一组处理器上,在这种复制传输过程中,传输控制协议 TCP 在复制数据流时会给每一个接收者建立一个连接,单独处理每一个数据流;而 UDP 协议可以利用组播完成数据流的复制,虽然提高了传输效率但是它提供低延迟和快速通信的需要。

13、这些都不能满足集群计算要求低延迟和快速通信的需要,Xpress(XTP)传输协议支持可靠和不可靠传输组播服务、组播组管理、快速建立与拆除连接、支持高吞吐量,递烟池通信服务,具有优先级管理机制、速与突发控制以及选择性冲发等功能。XTP 传输协议可以单独或与其他传输协议一起运行在 IP 协议CLNP 协议、LLC 与 MAC 协议、异步传输协议 ATM 之上。集群中的内存管理集群互联结构首先要确定集群内存模式,也成为编程模式。其一是共享内存模式,在共享内存模式中有一个共有全局地址空间,使得集群网络对于进程是透明的;虚拟内存管理硬件和软件主要用来将虚拟地址映射到本地或远程物理地址中去,共享内存的互联

14、结构可以将远程内存也映射到本地应用程序之中。共享内存的互联结构可以将远程内存也映射到本地应用程序之中。其二是分布设内存模式,在分布设内存模式中使用小心传递软件使得网络对应用程序是可见的;通过发送/接受 API(应用程序接口)调用。将数据发送到其他的节点或接收其他的节点传来的数据。与共享内存模式相比,用户必须明确地调用通信历程才能发送或者接收数据。集群软件平台操作系统Linux 操作系统Solaris 操作系统Windows NT 操作系统编程环境集群中的每一个用户可以使用不同的编程工具,开发和调试自己的分布式成熟,因此,集群环境应该包括接口,API 和传统开发工具等等,共同为用户提供丰富的开发

15、环境。PVM:并行虚拟机。其功能是可以使由不同网络连接起来的异构计算机的结合作为一致而灵活的并发计算资源,即是应用环境又是消息传递库。MPI:消息传递接口。是消息传递的详细说明,用作为明确的消息传递分布存储并行计算机的标准,该接口设图建立一个使用的可以只的,有效的灵活的消息传递标准。管理软件M 软件用来提高并行处理器的可访问性,大多数传统的控制者- 工作者代码是用C 或者 FORTRAN 编写的,并使用消息传递库来提供控制者-工作这之间的进程通讯。其主要的缺点是程序员需要了解传递,数据传递,分布式管理和安全的内在机制,最终用户仍需要掌握一些并行任务计划来请求资源,以便运行应用程序。而 Micr

16、osoft.Net 消除了这些障碍,使用户或者程序员可以采用面向对象的方法完成任务。还有很多应用于集群中的管理软件在此不再一一列举。集群计算系统的三大技术高可用性集群技术(High Availability Cluster (HA Cluster))是指以减少服务中断(宕机)时间为目的的服务器集群技术。随着全球经济的增长,世界各地各种各样的组织对 IT 系统的依赖都在不断增加,电子贸易使得商务一周七天 24 小时不间断的进行成为了可能。新的强大的应用程序使得商业和社会机构对日常操作的计算机化要求达到了空前的程度,趋势非常明显,我们无时无刻不依赖于稳定的计算机系统。这种需求极速的增长,使得对系统

17、可用性的要求变得非常重要,许多公司和组织的业务在很大程度上都依赖于计算机系统,任何的宕机都会造成严重的损失,关键 IT 系统的故障可能很快造成整个商业运作的瘫痪,每一分钟的宕机都意味着收入、生产和利润的损失,甚至于市场地位的削弱。Industry Business Operation Average Cost per Hour of DowntimeFinancial Brokerage operations $6.5 millionFinancial Credit card/sales authorization $2.6 millionMedia Pay-per-view televisi

18、on $1.1 millionRetail Home Shopping (TV) $113.0 thousandRetail Home catalog sales $90.0 thousandTransportation Airline reservation $89.5 thousand根据 1998 年 Garter Group 的统计我们可以看出,我们需要可以不间断使用的计算机系统,并且这种对高可用性系统和技术的需求还会不断的增长。可用性是指一个系统保持在线并且可供访问,有很多因素会造成系统宕机,包括为了维护而有计划的宕机以及意外故障等,高可用性方案的目标就是使宕机时间以及故障恢复时间最

19、小化,可以容忍的宕机时间明确的说明方案的全面性、复杂性和成本Percent Available downtime/Year Classification99. 5 3.7 days Conventional99. 9 8.8 hours Available99. 99 52.6 minutes Highly Available99. 999 5.3 minutes Fault Resilient99. 9999 32 seconds Fault Tolerant为了提高整个系统的可用性,除了提高计算机各个部件的可靠性以外,一般情况下都会采用集群的方案。所谓集群,就是共同为客户机提供网络资源的一

20、组计算机系统。而其中的每一台提供服务的计算机,我们称之为节点。当一个节点不可用或者不能处理客户的请求时,该请求将会转到另外的可用节点来处理,而这些对于客户端来说,它根本不必关心这些要使用的资源的具体位置,集群系统会自动完成。集群中节点可以以不同的方式来运行,这要看它们是如何设置的。在一个理想的两个节点的集群中,两个服务器都同时处于活动状态,也就是在两个节点上同时运行应用程序,当一个节点出现故障时,运行在出故障的节点上的应用程序就会转移到另外的没有出现故障的服务器上,这样一来,由于两个节点的工作现在由一个服务器来承担,自然会影响服务器的性能。针对这种情况的解决方案是,在正常操作时,另一个节点处于

21、备用状态,只有当活动的节点出现故障时该备用节点才会接管工作,但这并不是一个很经济的方案,因为你不得不买两个服务器来做一个服务器的工作。虽然当出现故障时不会对性能产生任何影响,但是在正常运行时的性能价格比并不太好。 从上面的工作方式出发,我们可以把集群分为下面几种(特别是两节点的集群)主/主 (Active/active)这是最常用的集群模型,它提供了高可用性,并且在只有一个节点在线时提供可以接受的性能,该模型允许最大程度的利用硬件资源。每个节点都通过网络对客户机提供资源,每个节点的容量被定义好,使得性能达到最优,并且每个节点都可以在故障转移时临时接管另一个节点的工作。所有的服务在故障转移后仍保

22、持可用,但是性能通常都会下降。主/从(Active/passive)为了提供最大的可用性,以及对性能最小的影响,Active/passive 模型需要一个在正常工作时处于备用状态,主节点处理客户机的请求,而备用节点处于空闲状态,当主节点出现故障时,备用节点会接管主节点的工作,继续为客户机提供服务,并且不会有任何性能上影响。混合型(Hybrid)混合是上面两种模型的结合,只针对关键应用进行故障转移,这样可以对这些应用实现可用性的同时让非关键的应用在正常运作时也可以在服务器上运行。当出现故障时,出现故障的服务器上的不太关键的应用就不可用了,但是那些关键应用会转移到另一个可用的节点上,从而达到性能和

23、容错两方面的平衡。高性能计算集群技术 High Performance Computing Cluster (HPC Cluster)高性能计算集群技术(High Performance Computing Cluster (HPC Cluster)是指以提高科学计算能力为目的计算机集群技术。 HPC Cluster 是一种并行计算(Parallel Processing)集群的实现方法。并行计算是指将一个应用程序分割成多块可以并行执行的部分并指定到多个处理器上执行的方法。目前的很多计算机系统可以支持 SMP(对称多处理器)架构并通过进程调度机制进行并行处理,但是 SMP 技术的可扩展性是十分

24、有限的,比如在目前的 Intel 架构上最多只可以扩展到 8 颗 CPU。为了满足哪些“计算能力饥渴“的科学计算任务,并行计算集群的方法被引入到计算机界。著名的“深蓝“计算机就是并行计算集群的一种实现。由于在某些廉价而通用的计算平台(如 Intel+Linux)上运行并行计算集群可以提供极佳的性能价格比,所以近年来这种解决方案越来越受到用户的青睐。比如壳牌石油(Shell)所使用的由 IBM xSeries 服务器组成的 1024 节点的 Linux HPC Cluster 是目前世界上计算能力最强的计算机之一。HPC Cluster 向用户提供一个单一计算机的界面。前置计算机负责与用户交互,

25、并在接受用户提交的计算任务后通过调度器(Scheduler )程序将任务分配给各个计算节点执行;运行结束后通过前置计算机将结果返回给用户。程序运行过程中的进程间通信(IPC)通过专用网络进行。HPC Cluster 中使用的服务器通常可以分为用户节点、管理节点、存贮节点和计算节点四种。它们的角色分别是:用户节点:提供用户界面的计算机。它从用户那里接受任务,运行调度器(在本地或独立的“控制节点“上)将任务分派到其它计算机,并将运算结果返回给用户。管理节点:提供管理功能的计算机。它应该能够使管理员从这一计算机对集群中的任意一台计算机进行监视和操作,并处理集群中所有计算机的日志和报警信息。存贮节点:

26、提供存贮共享的计算机。为了使任务可以并行执行,每台执行任务的计算机必须能够访问同样的数据。存贮节点通过网络共享(NFS)或其它方式来确保数据访问的同步。计算节点:真正执行计算任务的计算机。集群中的大部分计算机都是这种类型。 一个 HPC Cluster 中通常同时使用三个网络,它们分别是 IPC 网络,管理网络和存贮访问网络。根据具体的使用需求和选择的节点特性,这些网络可以使用多种介质和协议。IPC 网络:用于并行任务执行时的进程间通信的专用网络,通常要求延迟小,带宽大。管理网络:用来收集集群信息、监视集群计算机和执行维护任务的网络。存贮访问网络:用来访问公用存贮的专用网络。 在实现一个 HP

27、C Cluster 时,通常需要考虑以下问题: 应用程序是计算能力饥渴型(CPU+内存)还是 IO(磁盘/网络)饥渴型?-HPC Cluster 只适合解决计算能力饥渴型的问题 应用程序是否可以“并行化“?-HPC Cluster 对于可以并行化的应用程序最为有效 怎样才能提高 “计算密度 “?-所谓的 “计算密度“是指在单位空间中所能提供的计算能力(所能摆放的计算机台数) 。没有很好的计划和组织,一台 1000+节点的超级计算机就可能成为一场超级麻烦。更高的计算密度不仅意味着更小的体积,也以为着更加简便的管理和更少的投资。1U 的机架式服务器应当是首选。然后应该考虑的是:哪种服务器需要更少的

28、电缆?哪种计算机用作计算节点可以省去额外的控制部件(如连接键盘、鼠标的控制台切换器)?哪种计算节点可以提供更高的计算效能? 如何安装和管理所有的计算机?-计算机的可管理性在 HPC Cluster 的实现中至关重要。在同时面对数十甚至成百上千的计算机的情况下,管理员能否简单快速地执行维护工作常常成为影响集群 发挥效用的关键因素。在集群计算的需求确定之后,选择各种组件构成 Cluster 的实现方案常常十分困难,而且经常由于组件之间难以协同工作而导致 Cluster 的实现失败,或者最终构造了一个难以使用又难以管理的 Cluster。针对这种情况,应该优先考虑选择一体化的 HPC 产品。这些产品

29、通常会在厂商的工厂中进行组装和测试,然后按机架的方式交付客户使用。比如在目前的 IBM所提供的 1300 HPC Cluster,它基于 Intel 架构的硬件平台和 Linux 操作系统,使用与“深蓝“计算机上同样的集群计算技术,在计算密度、集群管理等方面都比较出色。高可扩高可用性集群技术高可扩展性集群技术高可扩展性集群技术就是带均衡策略(算法)的服务器群集。负载均衡群集在多节点之间按照一定的策略(算法)分发网络或计算处理负载。负载均衡建立在现有网络结构之上,它提供了一种廉价有效的方法来扩展服务器带宽,增加吞吐量,提高数据处理能力,同时又可以避免单点故障。一般的框架结构如下图(以 Web 访

30、问为例,其它应用类似) 。后台的多个 Web 服务器上面有相同的 Web 内容,Internet 客户端的访问请求首先进入一台服务器,由它根据负载均衡策略(算法)合理地分配给某个 Web 服务器。每个 Web 服务器有相同的内容做起来不难,所以选择负载均衡策略(算法)是个关键问题。下面会专门介绍均衡算法。负载均衡的作用就像轮流值日制度,把任务分给大家来完成,以免让一个人过度劳累。但是与轮流值日制度不同的是,负载均衡是一种动态均衡,它通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务理分配出去。对于不同的应用环境(如电子商务网站,它的计 算负荷大;再如网络数据库应用,读写频繁,服务器

31、的存储子系统系统面临很大压力;再如视频服务应用,数据传输量大,网络接口负担重压。 ) ,使用的均衡策略(算法)是不同的。 所以均衡策略(算法)也就有了多种多样的形式,广义上的负载均衡既可以设置专门的网关、负载均衡器,也可以通过一些专用软件与协议来实现。在 OSI 七层协议模型中的第二(数据链路层) 、第三(网络层) 、第四(传输层) 、第七层(应用层)都有相应的负载均衡策略(算法) ,在数据链路层上实现负载均衡的原理是根据数据包的目的MAC 地址选择不同的路径;在网络层上可利用基于 IP 地址的分配方式将数据流疏通到多个节点;而传输层和应用层的交换(Switch) ,本身便是一种基于访问流量的

32、控制方式,能够实现负载均衡。 到目前为止,针对网络负载均衡的产品主要有两大类:一是硬件;二是软件。硬件产品比软件产品运行得快但是价格较高。著名的产品有:3Com 的智能网卡和 DynamicAccess技术结合起来,不用在交换机上做任何设置,就可以完成分担任务;Cisco 路由器通过对动态环路、旁路技术等功能的提供实践着负载均衡;Win2000 中,专门集成了针对服务器群集的负载均衡软件;IBM 的 Web 专用服务器和 Network Dispatcher 软件;Lotus 的 ICM;还有许多厂商都支持的链路聚集、高层交换.实现方法还在不断地花样翻新,充实着“负载均衡“的内容。目前,基于均

33、衡算法主要有三种:轮循(Round-Robin)、最小连接数(Least Connections First) ,和快速响应优先(Faster Response Precedence) 。轮循算法,就是将来自网络的请求依次分配给集群中的服务器进行处理。最小连接数算法,就是为集群中的每台服务器设置一个记数器,记录每个服务器当前的连接数,负载均衡系统总是选择当前连接数最少的服务器分配任务。 这要比“轮循算法“好很多,因为在有些场合中,简单的轮循不能判断哪个服务器的负载更低,也许新的工作又被分配给了一个已经很忙的服务器了。快速响应优先算法,是根据群集中的服务器状态(CPU、内存等主要处理部分)来分配

34、任务。 这一点很难做到,事实上到目前为止,采用这个算法的负载均衡系统还很少。尤其对于硬件负载均衡设备来说,只能在 TCP/IP 协议方面做工作,几乎不可能深入到服务器的处理系统中进行监测。但是它是未来发展的方向。 采用负载均衡群集的场合很多,本文将以 Web/Ftp 服务器群集这个典型的应用为例进行介绍。 互联网的出现使信息访问产生了质的飞跃,但随之而来的是 Web 流量的激增(高并发访问) ,由于涉及的信息量十分庞大,用户访问的频率也高,许多基于 Web 的大型公共信息系统(如电子图书馆、 BBS、搜索引擎和远程教育等) 需要在实时性和吞吐量方面都具有较高性能的 Web 服务器支持。一些热门

35、的 Web 站点由于负荷过重而变得反应迟缓。如何提高 Web 服务器的性能和效率成为一个亟待解决的问题。实际上,服务器的处理能力和 I/O 已经成为提供 Web 服务的瓶颈。如果客户的增多导致通信量超出了服务器能承受的范围,那么其结果必然是服务质量下降。显然,单台服务器有限的性能不可能解决这个问题,一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟内处理上百万个甚至更多的请求。显然,采用高性能的主机系统(小型机乃至大型计算机)是可行的。但是,除了其价格价格昂贵外,这种高速、高性能的主机系统,很多情况下也不能解决同时处理几万个并发。因为,高速主机系统只是对于复杂单一任务和有限

36、的并发处理显得 高性能,而 Internet 中的 Web 服务器绝大多数处理是“ 简单任务“、高强度并发处理,因此,即便有大资金投入采用高性能、高价格的主机系统 ,也不能满足 Web 应用的需要。这就是利用 Web 服务器群集实现负载均衡的最初基本设计思想。Web 服务器群集的概念最早由伊利诺斯州大学(UIUC:University of Illinois at Urbana-Champaign)的超级计算应用中心(NCSA:National Center of Supercomputing Applications)提出并实现了一个原型系统“NCSA Scalable Web Server

37、 Cluster“, 它通过连接一组计算机对客户同时提供服务,实现分布负载,降低对用户请求的响应时间,并扩展 Web 服务器的应用。后来 Berkeley 的 NOW 小组、 NSC 和科罗拉多大学的 Harvest 小组、Cisco 及 IBM 公司等也加入此行列,很快推出相应产品。如 NCSA 使用几台工作站构成可扩展并行 Web 服务器群,提供使用其浏览器软件 Mosaic、服务器软件 httpd 的用户查询帮助信息和下载软件的服务器系统,采用轮循算法选择群集中某台计算机为当前访问请求服务;加州大学 SWEB 系统采用 DNS 转发技术实现服务器 IP 地址重定向(Yahoo 采用的就是这种方法) ;Inktomi 公司利用 NOW 构造并行的 HotBot 检索引擎,因而系统具有成本低和扩展能力强的特点;此外,IBM 公司也提出类似的可扩展并行 Web 服务器群集系统的设计方案。这些系统的成功表明 Web 服务器群集是改善 Web 服务的一种有效解决方案,并且正在成为主流技术。在 Web 负载均衡群集的设计中,网络拓扑被设计为对称结构。在对称结构中每台服务器都具备等价的地位,都可以单独对外提供服务。通过负载算法,分配设备将外部发送来的请求均匀分配到对称结构中的每台服务器上,接收到连接请求的服务器都独立回应客户的请求。 如下图所示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。