Linux高性能计算集群Word下载.docx

上传人:b****3 文档编号:6729640 上传时间:2023-05-07 格式:DOCX 页数:36 大小:200.13KB
下载 相关 举报
Linux高性能计算集群Word下载.docx_第1页
第1页 / 共36页
Linux高性能计算集群Word下载.docx_第2页
第2页 / 共36页
Linux高性能计算集群Word下载.docx_第3页
第3页 / 共36页
Linux高性能计算集群Word下载.docx_第4页
第4页 / 共36页
Linux高性能计算集群Word下载.docx_第5页
第5页 / 共36页
Linux高性能计算集群Word下载.docx_第6页
第6页 / 共36页
Linux高性能计算集群Word下载.docx_第7页
第7页 / 共36页
Linux高性能计算集群Word下载.docx_第8页
第8页 / 共36页
Linux高性能计算集群Word下载.docx_第9页
第9页 / 共36页
Linux高性能计算集群Word下载.docx_第10页
第10页 / 共36页
Linux高性能计算集群Word下载.docx_第11页
第11页 / 共36页
Linux高性能计算集群Word下载.docx_第12页
第12页 / 共36页
Linux高性能计算集群Word下载.docx_第13页
第13页 / 共36页
Linux高性能计算集群Word下载.docx_第14页
第14页 / 共36页
Linux高性能计算集群Word下载.docx_第15页
第15页 / 共36页
Linux高性能计算集群Word下载.docx_第16页
第16页 / 共36页
Linux高性能计算集群Word下载.docx_第17页
第17页 / 共36页
Linux高性能计算集群Word下载.docx_第18页
第18页 / 共36页
Linux高性能计算集群Word下载.docx_第19页
第19页 / 共36页
Linux高性能计算集群Word下载.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Linux高性能计算集群Word下载.docx

《Linux高性能计算集群Word下载.docx》由会员分享,可在线阅读,更多相关《Linux高性能计算集群Word下载.docx(36页珍藏版)》请在冰点文库上搜索。

Linux高性能计算集群Word下载.docx

虽然根据集群系统的不同特征可以有多种分类方法,但是一般我们把集群系统分为两类:

∙高可用(HighAvailability)集群,简称HA集群。

这类集群致力于提供高度可靠的服务。

∙高性能计算(HighPerfermanceComputing)集群,简称HPC集群。

这类集群致力于提供单个计算机所不能提供的强大的计算能力。

2高可用集群

2.1什么是高可用性

计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。

工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。

于是可用性被定义为:

MTTF/(MTTF+MTTR)*100%

业界根据可用性把计算机系统分为如下几类:

可用比例

(PercentAvailability)

年停机时间

(downtime/year)

可用性分类

99.5

3.7天

常规系统(Conventional)

99.9

8.8小时

可用系统(Available)

99.99

52.6分钟

高可用系统(HighlyAvailable)

99.999

5.3分钟

FaultResilient

99.9999

32秒

FaultTolerant

表1.系统可用性分类

对于关键业务,停机通常是灾难性的。

因为停机带来的损失也是巨大的。

下面的统计数字列举了不同类型企业应用系统停机所带来的损失。

应用系统

每分钟损失(美元)

呼叫中心(CallCenter)

27000

企业资源计划(ERP)系统

13000

供应链管理(SCM)系统

11000

电子商务(eCommerce)系统

10000

客户服务(CustomerServiceCenter)系统

表2.停机给企业带来的损失

随着企业越来越依赖于信息技术,由于系统停机而带来的损失也越拉越大。

2.2高可用集群

高可用集群就是采用集群技术来实现计算机系统的高可用性。

高可用集群通常有两种工作方式:

∙容错系统:

通常是主从服务器方式。

从服务器检测主服务器的状态,当主服务工作正常时,从服务器并不提供服务。

但是一旦主服务器失效,从服务器就开始代替主服务器向客户提供服务。

∙负载均衡系统:

集群中所有的节点都处于活动状态,它们分摊系统的工作负载。

一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。

关于高可用集群的讨论很多,这里就不进行深入的阐述了。

3高性能计算集群

3.1什么是高性能计算集群

简单的说,高性能计算(High-PerformanceComputing)是计算机科学的一个分支,它致力于开发超级计算机,研究并行算法和开发相关软件。

高性能计算主要研究如下两类问题:

∙大规模科学问题,象天气预报、地形分析和生物制药等;

∙存储和处理海量数据,象数据挖掘、图象处理和基因测序;

顾名思义,高性能集群就是采用集群技术来研究高性能计算。

3.2高性能计算分类

高性能计算的分类方法很多。

这里从并行任务间的关系角度来对高性能计算分类。

3.2.1高吞吐计算(High-throughputComputing)

有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。

象在家搜寻外星人(SETI@HOME--SearchforExtraterrestrialIntelligenceatHome)就是这一类型应用。

这一项目是利用Internet上的闲置的计算资源来搜寻外星人。

SETI项目的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。

服务器负责将从各个计算节点返回的数据汇集成完整的数据。

因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。

所谓的Internet计算都属于这一类。

按照Flynn的分类,高吞吐计算属于SIMD(SingleInstruction/MultipleData)的范畴。

3.2.2分布计算(DistributedComputing)

另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。

按照Flynn的分类,分布式的高性能计算属于MIMD(MultipleInstruction/MultipleData)的范畴。

3.3Linux高性能集群系统

当论及Linux高性能集群时,许多人的第一反映就是Beowulf。

起初,Beowulf只是一个著名的科学计算集群系统。

以后的很多集群都采用Beowulf类似的架构,所以,实际上,现在Beowulf已经成为一类广为接受的高性能集群的类型。

尽管名称各异,很多集群系统都是Beowulf集群的衍生物。

当然也存在有别于Beowulf的集群系统,COW和Mosix就是另两类著名的集群系统。

3.3.1Beowulf集群

简单的说,Beowulf是一种能够将多台计算机用于并行计算的体系结构。

通常Beowulf系统由通过以太网或其他网络连接的多个计算节点和管理节点构成。

管理节点控制整个集群系统,同时为计算节点提供文件服务和对外的网络连接。

它使用的是常见的硬件设备,象普通PC、以太网卡和集线器。

它很少使用特别定制的硬件和特殊的设备。

Beowulf集群的软件也是随处可见的,象Linux、PVM和MPI。

本文的以后几部分将详细介绍Beowulf集群系统的硬件、网络、软件和应用体系结构。

3.3.2Beowulf集群和COW集群

象Beowulf一样,COW(ClusterOfWorkstation)也是由最常见的硬件设备和软件系统搭建而成。

通常也是由一个控制节点和多个计算节点构成。

COW和Beowulf的主要区别在于:

1.COW中的计算节点主要都是闲置的计算资源,如办公室中的桌面工作站,它们就是普通的PC,采用普通的局域网进行连接。

因为这些计算节点白天会作为工作站使用,所以主要的集群计算发生在晚上和周末等空闲时间。

而Beowulf中的计算节点都是专职于并行计算,并且进行了性能优化。

它们采用高速网(Myrinet或Giganet)上的消息传递(PVM或MPI)进行进程间通信(IPC)。

2.因为COW中的计算节点主要的目的是桌面应用,所以它们都具有显示器、键盘和鼠标等外设。

而Beowulf的计算节点通常没有这些外设,对这些计算节点的访问通常是在管理节点上通过网络或串口线实现的。

3.因为连接COW中计算节点的通常是普通的局域网,所以COW上的高性能应用通常是象SETI@HOME这样的SIMD的高吞吐计算。

而Beowulf无论从硬件、网络和软件上都对需要频繁交换数据的MIMD应用做了特别的优化。

3.3.3Mosix集群

实际上把Mosix集群放在高性能集群这一节是相当牵强的,但是和Beowulf等其他集群相比,Mosix集群确实是种非常特别的集群,它致力于在Linux系统上实现集群系统的单一系统映象SSI(SingleSystemImage)。

Mosix集群将网络上运行Linux的计算机连接成一个集群系统。

系统自动均衡节点间的负载。

因为Mosix是在Linux系统内核中实现的集群,所以用户态的应用程序不需要任何修改就可以在Mosix集群上运行。

通常用户很少会注意到Linux和Mosix的差别。

对于他来说,Mosix集群就是运行Linux的一台PC。

尽管现在存在着不少的问题,Mosix始终是引人注目的集群系统。

1什么是Beowulf集群

Beowulf是现存的最古老的英语史诗:

FamedwasthisBeowulf:

farewtheboastofhim,sonofScyld,intheScandianlands.Sobecomesitayouthtoquithimwellwithhisfather'

sfriends,byfeeandgift,thattoaidhim,aged,inafterdays,comewarriorswilling,shouldwardrawnigh,liegemenloyal:

bylaudeddeedsshallanearlhavehonorineveryclan.

它歌颂了一个英雄,他拥有强壮的体魄和无人伦比的勇气。

他最终战胜了魔鬼Grendel.你可以在

我们所说的Beowulf首先是一个象史诗中英雄一样强大的集群系统。

在1994年夏季,ThomasSterling和DonBecker在CESDIS(TheCenterofExcellenceinSpaceDataandInformationSciences)用16个节点和以太网组成了一个计算机集群系统,并将这个系统命名为Beowulf。

Beowulf集群。

Beowulf集群提供了一种使用COTS(Commodityofftheshelf)硬件构造集群系统以满足特殊的计算需求的方法。

这里的COTS是指象PC和以太网这种广为应用的标准设备,它们通常可以由多家厂商提供,所以通常有很高的性价比。

Beowulf集群这种方法很快从NASA传遍了整个科研机构和社团。

实际上,Beowulf集群现在已被人们看作高性能计算中的一个分支或流派。

因为几乎每个Beowulf集群的设计者都有自己的Beowulf集群的定义,恐怕很难给Beowulf集群下一个确切的定义。

一些人认为只有那些采用和原始的Beowulf集群系统一样方法构建的系统才叫Beowulf集群。

而另一些人则认为凡是能够在多个工作站上运行并行代码的系统都称为Beowulf集群。

这里我们只是列举多数Beowulf集群具有的特征作为Beowulf集群的定义:

∙Beowulf是一种系统结构,它使得多个计算机组成的系统能够用于并行计算。

∙Beowulf系统通常有一个管理节点和多个计算节点构成。

它们通过以太网(或其他网络)连接。

管理节点监控计算节点,通常也是计算节点的网关和控制终端。

当然它通常也是集群系统文件服务器。

在大型的集群系统中,由于特殊的需求,这些管理节点的功能也可能由多个节点分摊。

∙Beowulf系统通常由最常见的硬件设备组成,例如,PC、以太网卡和以太网交换机。

Beowulf系统很少包含用户定制的特殊设备。

∙Beowulf系统通常采用那些廉价且广为传播的软件,例如,Linux操作系统、并行虚拟机(PVM)和消息传递接口(MPI)。

2Beowulf集群的分类

由于一些特殊的目的如系统性能,有些Beowulf集群系统也采用一些用户定制的设备(它们通常由一家厂商提供)。

为了区分这些特殊的系统,通常把Beowulf分为两大类:

2.1第一类Beowulf集群(CLASSIBeowulf)

这一类Beowulf集群全部由COTS设备组成。

第一类Beowulf系统的优点是:

∙硬件设备由多个来源,通常具有廉价和易管理维护的特点。

∙不依赖于单个硬件供应商

∙所有设备驱动都由Linux开发社团提供

∙通常都是标准设备,例如,SCSI、以太网等等

当然第一类Beowulf集群的缺点也是非常显然的。

由于所采用的硬件都没有经过性能优化,所以其很难达到很好的性能。

比如,由于以太网的高延迟和低带宽使得集群系统中消息传递很难达到MIMD应用的需求,从而使整个集群系统的计算能力大打折扣。

2.2第二类Beowulf集群(CLASSIIBeowulf)

第二类Beowulf集群是指那些采用了用户定制设备的Beowulf集群。

这类集群系统最大优点是具有很好的性能。

例如,采用Myrinet作为集群系统的IPC网络可以极大地提供进程间消息传递延迟和速度。

当然它的缺点就是依赖于单个硬件提供商而且价格高昂。

不能说,哪一类集群绝对优于另一类集群。

这依赖于你的集群系统的需求和预算。

3Beowulf集群体系结构

如上所述,现实中存在形形色色的Beowulf集群。

虽然它们都是原始Beowulf集群的衍生物,但是它们的体系结构也存在各种各样微小的差异。

本文以IBMeServerCluster1300为例来阐述Beowulf集群体系结构和系统组成。

图1是Cluster1300上Beowulf集群的系统视图

图1是Cluster1300上Beowulf集群的系统视图。

无论是管理节点(MasterNode)和计算节点都是IntelIA32架构的xSeriesPC服务器。

它们通过网络(以太网和Myrinet)相连接。

所有的节点都运行Linux操作系统。

运行在计算节点上的并行应用程序采用MPI进行完成并行进程间的通信。

计算节点通过管理节点和外部LAN相连。

整个集群系统都在一套集群管理工具监控之下。

图2Cluster1300上Beowlf集群组件

图2是Cluster1300上Beowulf集群的组件视图。

它揭示了Beowulf集群的组成部分。

通常Beowulf集群由四个层次构成:

∙硬件:

主要是指IntelIA32架构的PC服务器。

∙网络:

指用于节点间通信的局域网(普通的以太网)和并行进程间通信的高速网(Myrinet等高速网)。

∙软件:

主要指Linux操作系统和用于并行通信的并行编程库(如MPI和PVM)。

∙并行应用

本文的下面三个小节将分别介绍这四个层次。

而本系列文章的后面两片将更详细的介绍它们。

3.1Beowulf集群硬件和网络

Beowulf集群硬件和网络层次需要解决的问题是如何组织硬件使其达到最高的性价比。

为了达到很好的性价比,Beowulf通常采用廉价的COTS硬件。

当然有时为了提供某些关键的性能,也会使用一些特殊的设备。

从硬件组织的角度说,Beowulf集群中的节点都是非共享内存的计算机,它们通过消息传递进行通信。

实际上,我们还有其他组织硬件完成并行计算的方式。

简单地说,有两种组织硬件完成并行计算的方法:

∙通过消息传递通信的本地内存(非共享内存)计算机系统(Beowulf集群)

∙通过内存访问通信的共享内存计算机系统(SMP计算机)

当然也存在将多个本地或共享内存计算机相连并创造一个混和的共享内存计算机系统的可能。

但在最终用户看来,这种计算机系统就好像一个大型的共享内存计算机。

这种技术被我们叫做非一致内存访问NUMA(NonUniformMemoryAccess)。

但是从底层说,一个NUMA计算机系统必须在节点间传递消息。

当然也可以将共享内存计算机作为一个本地内存的计算机连入一个Beowulf集群系统。

由于Linux系统支持SMP计算机,所以Linux系统本身能够在SMP中的多个CPU上调度作业。

所以Beowulf集群本身就没有必要识别集群的节点是不是共享内存计算机了。

和SMP系统相比,集群系统有明显的优点。

关于这一点请参阅本系列文章的第一篇。

因为Beowulf集群采用消息传递完成并行程序间通信,所以网络传输成了系统的瓶颈。

在实际的系统中,通常采用有两套彼此的独立的网络设备。

一套是普通的以太网,用于象系统管理和文件服务等普通的网络通信。

另一套网络是用于进程间通信的高速网,象Myrinet和Giganet。

和100M以太网相比,这类网络具有低延迟和高带宽的特性。

还有三类设备虽然不是必须,但是对于集群管理却是非常重要的:

∙KVMSwither:

KVM是指Keyboard、Video和Mouse。

这个设备可以让系统管理员用一套KVM管理系统中的所有节点。

∙远程电源管理设备(如ASM):

这类设备使得管理员可以在管理节点Poweron/off其他节点。

∙TerminalServer:

这种设备通过串口将节点连接起来。

通过这个设备,管理员可以在管理节点上虚拟出其他节点上的控制终端。

和KVM相比,这种方法不需要硬件的切换。

3.2Beowulf集群软件

Beowulf集群在软件层次面临的问题是如何在硬件层次上获得最大的性能。

通常,Beowulf集群采用Linux+MPI的方式支持并行计算。

MPI是采用消息传递的方式实现并行程序间通信。

虽然也可以采用其他的通信方法,但是消息传递模式是最适合于集群系统的。

简单地说,有两种在并行程序间传递并发的方法:

∙使用处理器间的消息传递(MPI)

∙使用操作系统的线程(Thread)

其他的方法也存在,但是这两种方法应用得最广泛。

虽然存在效率和移植的问题,这两种方法都可以在SMP,NUMA和Cluster上实现。

消息传递需要在CPU间拷贝数据,而线程却可以在CPU间共享数据。

数据拷贝的速度和延迟是影响消息传递效率的最关键的因素。

PVM和MPI是最常用的两种消息传递API。

消息传递也可以在线程上实现,并且消息传递即可以用于集群系统,也可以用于SMP系统。

和线程相比,在SMP系统上使用消息传递的优点在于可以很方便的把SMP上的应用移植到集群系统上。

线程的最大特点是,线程间是共享数据。

因此它在SMP系统上工作的更好。

而且Linux本身也是支持Posix线程的。

但是使用线程的最大缺点在于,很难将线程扩展到SMP系统以外。

虽然NUMA技术可以高效的做到这一点,但是那非常昂贵而且Linux本身也不支持。

下表概括了线程和消息传递在SMP和集群系统上的比较:

 

SMP系统性能

集群系统性能

扩展性

消息传递

很好

线程

差*

*需要昂贵的NUMA技术

3.3Beowulf集群应用

Beowulf集群的应用层次位于硬件和软件层次之上。

它要解决的问题是如何在实际的集群系统中并行化(PARALLEL)应用中的并发(CONCURRENT)部分,从而使集群上的应用达到最好的性能。

在阐述这部分之前,我们需要区分两个概念:

PARALLEL和CONCURRENT。

程序的并发(CONCURRENT)部分是指程序中可以独立计算的部分。

程序的并行(PARALLEL)部分是指程序中在同一时间被分别执行的并发(CONCURRENT)部分。

它们的区别是很重要的。

并发是程序本身的属性,而并行是计算机系统的属性。

并行的目的是获得很好的性能。

限制并行性能的因素是计算节点间通信的速度和延迟。

大部分的Benchmark都有很高的并行性并且通信和延迟不是什么瓶颈。

但是其他应用却没有这么简单。

对于这些应用,有时候使并发部分并行执行反而可能使应用性能更低。

简单的说,除非附加的通信时间代价小于并发节约的计算时间,否则并行执行反而会降低效率。

程序员的任务就是决定哪些并发的部分需要并行执行,而哪些不应该并行执行。

这些决定最终会影响应用程序的执行效率。

图3描述了实际应用中程序并发部分和通信计算时间比的关系。

在理想的系统中,通信计算时间比应该是恒定的。

任何并发部分都应该实现为并行。

不幸的是,实际的系统,包括SMP系统,都是图3所示的那样。

所以在设计Beowulf集群应用时,必须认识到并发带来的效率依赖于在该系统上通信处理时间比。

也正是因为这个原因,虽然可以把应用移植到另一个并发系统上,但是并不能保证应用在被移植的系统上仍然是高效的。

一般来说,不存在可移植的且高效的应用程序。

同样的道理,使用更快的CPU也可能使你的应用变慢。

1Beowulf集群硬件和网络体系结构

图1是Cluster1300的硬件和网络体系结构图。

从图中可以看出,整个系统由5类计算或网络设备和5类网络组成。

这5类设备是:

∙主控制节点(ControlNode)

∙计算节点

∙以太网交换机(EthernetSwitch)

∙Myrinet交换机

∙TerminalServer

5类网络是:

∙集群局域网(ClusterVLAN蓝色)

∙管理网络(ManagementVLAN右边绿色)

∙IPC网络(IPCVLAN棕色)

∙Terminal网络(灰色)

∙ServiceProcessor网络(左边绿色)

本文的以下部分将介绍这些设备和网络的角色,功能和一般的配置。

2Beowulf集群中的节点

这一节主要介绍Beowulf集群中的节点,节点的类型和相应的功能。

根据功能,我们可以把集群中的节点划分为6种类型:

∙用户节点(UserNode)

∙控制节点(ControlNode)

∙管理节点(ManagementNode)

∙存储节点(StorageNode)

∙安装节点(InstallationNode)

∙计算节点(ComputeNode)

虽然由多种类型的节点,但并不是说一台计算机只能是一种类型的节点。

一台计算机所扮演的节点类型要由集群的实际需求和计算机的配置决定。

在小型集群系统中,用户节点、控制节点、管理节点、存储节点和安装节点往往就是同一台计算机。

下面我们分别解释这些类型节点的作用。

2.1用户节点(UserNode)

用户节点是外部世界访问集群系统的网关。

用户通常登录到这个节点上编译并运行作业。

用户节点是外部访问集群系统强大计算或存储能力的唯一入口,是整个系统的关键点。

为了保证用户节点的高可用性,应该采用硬件冗余的容错方法,如采用双机热备份。

至少应该采用RAID(RedundantArrayofIndep

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2