(通信与信息系统专业论文)mpich作业递交方式的研究及改进.pdf_第1页
(通信与信息系统专业论文)mpich作业递交方式的研究及改进.pdf_第2页
(通信与信息系统专业论文)mpich作业递交方式的研究及改进.pdf_第3页
(通信与信息系统专业论文)mpich作业递交方式的研究及改进.pdf_第4页
(通信与信息系统专业论文)mpich作业递交方式的研究及改进.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(通信与信息系统专业论文)mpich作业递交方式的研究及改进.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

m p i c h 作业递交方式的研究及改进 摘要 本文主要讨论了基于l i n u x 的高性能计算集群上m p i c h 作业递交模式的研究和 改进。 首先本文简单介绍了集群系统的一般概念。集群技术是国际上并行及分布式计 算领域近年来比较活跃的研究课题。其中,很多并行技术都是在集群计算机系统上 实现的。 随后本文介绍了高性能系统中比较常用到的网络技术,以及一些当前高性能计 算机中使用和研究的通信模型和协议。 m p i 并行计算系统是目前在高性能并行计算中使用最广泛的一种系统,对于该 系统的研究也是一直十分热门。在各方面的研究领域中,尤其以并行计算性能的研 究为重。并行计算性能的提高,一是提高计算的准确性,二是减少计算所需时间。 其中,计算所需时间分为计算时间和通信时间。本文针对并行计算中的通信时间, 介绍了m p i 下的通信方式,并针对系统内部各节点之间的作业递交方式进行优化, 以达到减少通信时间的目的。 m p i c h 是m p i 的一种重要的实现,本文通过对m p i c h 作业递交方式的研究,提 出一种新的作业递交方式即s b m 方法,从而减少作业提交过程中通信的时间,得到 更高的通信性能,实现对m p i c h 作业递交方式的改进,以适应大规模并行任务的需 求。 关键词:m p i c h ,集群,作业递交,通信性能 中图分类号:t n 9 1 复旦大学硕士学位论文 m p i c h 作业递交方式的研究及改进 a b s t r a c t t h i sp a p e rm a i n l yd i s c u s s e st h er e s e a r c ho nt h eo r i g i n a lm e t h o da n da n e wm e t h o do fs u b m t t l n gj o bi nm p i c ho nt h eh p cc l u s t e rb a s e do nl i n u x f i r s tt h ep a p e rs i m p l yi n t r o d u c e ss o m ec o n c e p t so ft h ec l u s t e rs y s t e m c l u s t e ri sa na c t i v ei n t e r n a t i o n a lr e s e a r c ht o p i co np a r a l l e la n dd i s t r i b u t e d c o m p u t a t l o nf i e l d s w i t h i ni t ,m o s tp a r a l l e lt e c h n i q u e sh a v eb e e na c m e v e d o nt h ec l u s t e rs y s t e m t h e nt h ep a p e ri n t r o d u c e ss o m en e t w o r kt e c h m q u e s ,c o m m u n i c a t i o nm o d e l s a n dp r o t o c o l su s e di nh i g h p e r f o r m a n c es y s t e m m p ip a r a l l e lc o m p u t a t i o ns y s t e mi so n eo ft h em o s te x t e n s i v es y s t e m su s e d i nh i g h p e r f o r m a n c ep a r a l l e lc o m p u t a t i o n t h er e s e a r c ho ni t i sa l w a y sv e r y h e a t d u r i n gv a r i e df i e l d s ,t h er e s e a r c h o np e r f o r m a n c eo fp a r a l l e l c o m p u t a t i o ni si m p o r t a n t i m p r o v e m e n to fp e r f o r m a n c eo fp a r a l l e lc o m p u t a t i o n i sb a s e do nt h ea c c u r a c yo fc o m p u t a t l o na n dt h et i m en e e d e d t h et i m ei s d i v i d e di n t oc o m p u t a t i o nt i m ea n dc o m m u n i c a t i o nt i m e f o rt h ec o m m u n i c a t i o n t i m ei np a r a l l e lc o m p u t a t i o n ,t h ep a p e ri n t r o d u c e st h ec o m m u n i c a t i o nm o d e i n 仲i a n db r i n g sf o r w a r d sa ni d e aw h i c ho p t i m i z e sj o b s s u b m s s i o na m o n g t h en o d e so ft h es y s t e mt od e c r e a s et h ec o m m u n i c a t i o nt i m e m p i c hi sa ni m p o r t a n t1 m p l e m e n t a t i o no fm p i t h i sp a p e rd e s c r i b e sa n e w m e t h o do fs u b m i t t i n gj o b s ,i e s b mm e t h o d ,w h i c hd e c r e a s e st h ec o m m u n i c a t i o n t i m ea n dg e t sb e t t e rc o m m u m c a t i o n ,a n dt h u sr e a l i z e st h eo p t l m i z a t l o no f j o b ss u b m i s s i o ni nm p i c h ,b ys t u d y i n gt h eo r i g i n a ls u b m t t i n gj o bm e t h o di n m p i c h ,t oa d a p tt h en e e do fl a r g e s c a l ep a r a ll e lt a s k k e yw o r d s :m p i c l t ,c l u s t e r ,s u b m i t t i n gj o b ,c o m m u n i c a t i o np e r f o r m a n c e c l a s s i f i e a t i o nc o d e :t n 9 1 复旦大学硕士学位论文 2 m p l c h 作业递交方式的研究及改进 1 1 研究背景 第一章绪论 随着计算机技术的发展和越来越广泛的应用,越来越多的依赖于计算机技术的 应用系统走进了我们的工作和生活。在给我们带来方便和效率的同时,也使得各行 各业对于计算机技术的依赖程度越来越高。随着计算机技术以日新月异的速度发展, 尽管单台计算机的性能和可靠性越来越好,但还是有许多现实的要求是单台计算机 难以达到的。例如,在某个科研单位需要用一台超级计算机来模拟气象变化时,则 需要有相当于2 0 0 g h z 奔腾4 处理器的浮点运算能力,这时往往需要将多台计算机组 织起来进行协同工作,这种技术称为集群技术( c 1 u s t e r t e c h n o l o g y ,也称为群集 技术) 。近年来,集群技术是国际上并行及分布式计算领域比较活跃的研究课题。 集群系统根据其应用背景,一般分成两类,用于科学计算的集群( 高性能计算 集群) 和商用的超级服务器( 包括高可用性集群和负载均衡集群) 。用于科学计算 的集群运行p v m 、m p i 等并行程序时,要求高的计算速度和低的通讯延时,其性能主 要取决于节点的规模、节点c p u 的处理速度、节点的内存大小、和通信子系统的处 理速度。 通信层软件是集群系统中一个非常重要的组成部分,对系统的性能有着至关重 要的影响。在高性能计算领域,由于并行应用通常含有大量的通信和同步操作,必 然要求作为其基础的通信软件能够高效率的执行。另一方面,互连硬件正在高速地 发展,与此同时通信软件却远远没有跟上硬件的步伐,使得大量的通信时间消耗在 软件造成的额外负担中。因此,通信层架构或者协议一直是集群系统的研究热点之 通信层软件主要的研究方向分为两大类:一类是研究通信架构,另一类是研究 通信层与内核的关系。 从架构来看,通信层本身也是有很多层次组成的。最底层负责和硬件通信,这 一层可以是一些传统的网卡驱动程序,但是更重要的是一些高效率的用户级通信库 或标准,如f m 、b i p 等。在这一层以上是各种面向不同应用需要的协议层、接口层, 复旦大学硕士学位论文 m p i c h 作业递交方式的研究及改进 如传统的t c p i p 协议栈,在高性能计算领域,则包括各种消息传递接口,如m p i 、 p v m 、a m 等,或者是基于分布式共享内存的接口v m m c 。 从通信与内核的关系来看,可以分为内核级通信和用户级通信。内核级通信就 是所有的通信操作都通过系统调用来实现,它的好处是能够充分利用操作系统提供 的多用户之间的保护功能,同时有利于开发遵循工业标准如s o c k e t 的软件。但是, 内核级通信会带来很多额外的开销,比如进程状态的保存恢复、内存的多次拷贝以 及附加的调度策略等等,这些都给通信的性能带来影响,有时甚至是决定性的。而 用户级通信则完全避开了内核,完全在用户级通过一些标准接口的函数库来访问通 信硬件,这样可以避免内核级通信的种种制约性能的因素,但同时也不能利用内核 所能提供的种种便利。 在过去十几年中,随着m p p 和工作站群集等分布存储结构并行机的发展,出现 了诸如p v m 、e x p r e s s 、n e tl i n d a 等大批消息传送系统。这些系统由于出自不同厂 商的设计,对消息传递实现的途径不尽相同。但是对消息传送基本概念的理解,即 通过消息数据结构来达到进程之间通信这一点却得到广泛认同。不同厂商发展各自 的消息传递系统这一趋势,给提高应用程序及其系统的可移植性和可维护性造成了 困难,分散力量的开发工作也造成软件质量不高和实现上的低效率。因此,普遍希 望定义一种消息传送核心库函数的语法和语义。这种库函数能够统一现存各种消息 传送系统的描述、满足用户需求并且便于厂商高效率实现。这样,导致了消息传送 接口m p i ( m e s s a g ep a s s l n gi n t e r f a c e ) 标准的产生。 m p i 标准定义了一组函数,使应用程序可以将消息从一个m p i 进程送到另一个 m p i 进程,其核心和灵魂就是m p i 进程间的消息传递。由于m p i 是一套标准,它没 有和任何特别的计算机硬件和软件绑定,所以任何平台都可以获得m p i 标准的实现。 大多数并行计算硬件供应商都会提供和他们的硬件协调得最好的m p i 实现,i p i c h 就是其中一个重要的m p i 实现。 m p i c h 既是一个研究项目,同时也是一个软件开发项目。作为一个研究项目, 它的目标是寻求一种方法,能够拉近并行计算机的编程人员与硬件所提供的性能之 间的距离。在m p i c h 中,限定编程接口为m p i ,而对目标机器体系结构却不加以限 制,将高性能( 以消息传递过程中的带宽和延时来衡量) 作为目标。作为一个软件 项目,m p i c h 通过给用户提供不同平台上的免费的、高性能的m p i 实现,从而要达 到提高m p i 标准的采用率这个目标。同时,也帮助不同的开发商开发出有他们自己 特性的m p i 实现。 复旦大学硕士学位论文 4 m p i c h 作业递交方式的研究及改进 - 1 2 作者的工作 随着近几年m p i 标准的逐渐完善,消息通信模式的定义也逐渐成熟起来,所以 这个方面的优化有时取决于对m p i 编程和通信过程的更深刻更正确的理解。在不同 的环境下可以通过使用不同的通信模式来优化通信的性能和改善效率。就目前而言, 大部分工作都是集中在通过修改m p i c h 的函数库来提高消息通信的性能。 在m p i 并行计算系统中,从两方面可以实现通信性能的优化。一个方面是m p i 并行计算程序的消息通信模式的性能优化,这方面已经做了大量的研究。另一个方 面是对m p i c h 的作业递交方式的优化,特别是在大规模并行计算中,这种优化对于 系统性能的改进非常重要。 在m p i c h 并行计算系统中,当一个用户在一个节点上执行艘i c h 程序时,m p i c h 会在系统开始并行运算之前将这一作业递交给其他所有参与节点,这一过程需要一 定的通信时间,如果节点数较少并且程序较小,则这一时间影响很小,可被忽略。 但在目前的大型并行计算中,往往有几百个节点甚至几千个节点,程序也相当复杂, 这时递交作业将会占用很多通信时间,从而使整体性能有很大幅度的下降。 通过优化m p i c h 作业的递交方式,可以有效降低用于作业递交的通信时间,进 而大幅度地提高通信性能。在m p i c h 并行计算系统中,原来的作业递交方式是最简 单,同时也是最费时的方法,即由根节点依次将作业递交给其它参与节点,这种方 法所花费的时间与节点的数量基本成线性比例,在作业使用的节点数较少的时候, 这种实现方法对整体性能没有太大的影响,但随着节点数的增加,对系统整体性能 的影响就越来越明显。为解决这一问题,我们提出一种新的作业递交方式,我们称 之为s b m 作业递交方式。该作业递交方式使作业递交时间从原来的与节点数n 成正 比,缩短为与l o g n l 0 9 2 约成正比。从而有效提高了通信性能。 1 3 文章结构 本文主要是研究高性能计算机上m p i c i i 的作业递交传输模式,并在其上进行传 输方式的改进,以提高通信性能。 本论文后续部分结构如下: 第二章讨论了集群的基本概念及分类。 复旦大学硕士学位论文 m p i c h 作业递交方式的研究及改进 第三章中在简单介绍一下高性能系统中比较常用到的网络技术,以及一些当前 高性能系统中使用和研究的通信模型和协议。 在第四章中主要介绍m p i 的有关知识。 第五章中详细研究了m p i c b 作业递交方式,并提出新的作业递交方法。 第六章里介绍了对新方法( s b m 作业递交方式) 的试验测试,并对测试结果进 行分析。 最后,对整个论文进行了总结以及对未来工作的进一步展望。 复旦大学硕士学位论文 6 m p i c h 作业递交方式的研究及改进 第二章集群技术 所谓集群,就是指一组通过高速网络连接的相互独立的服务器或p c 机,它们在 网络中表现为单一的系统,并以单一系统的模式加以管理,共同为客户机提供服务。 2 1 集群系统组成结构 图2 1 集群系统组成结构示意图 集群由节点和互连网络两大部分组成。根据功能,我们可以把集群系统中的节 点划分为6 种类型:用户节点、控制节点、管理节点、存储节点、安装节点、计算 节点。 1 ) 用户节点 用户节点是外部世界访问集群系统的网关,它是外部访问集群系统强大计算或 存储能力的唯一入口,是整个系统的关键点。用户通常登录到这个节点上编译并运 行作业。用户节点从用户那里接受任务,运行调度器( 在本地或独立的”控制节点” 上) 将任务分派到其它计算机,并将运算结果返回给用户。 2 ) 控制节点 控制节点主要承担两种任务:为计算节点提供基本的网络服务,如d n s 和n i s ; 调度计算节点上的作业,通常集群的作业调度程序( 如p b s ) 一般运行在这个节点 上。 3 ) 管理节点 复开大学硕士学位论文7 章冒 h m p i c h 作业递交方式的研究及改进 管理节点是集群系统各种管理措施的控制节点,它是管理网络的控制点,监控 集群中各个节点和网络的运行状况。通常的集群的管理软件也运行在这个节点上, 能够使管理员从这一节点对集群中的任意节点进行监视和操作,并处理集群中所有 计算机的曰志和报警信息。 4 ) 存储节点 如果集群系统的应用运行需要大量的数据,则还需要一个存储节点。存储节点 就是提供存贮共享的节点,是集群系统的数据存储器和数据服务器。为了使任务可 以并行执行,每台执行任务的节点必须能够访问同样的数据。存储节点通过网络共 享( n f s ) 或其它方式来确保数据访问的同步。 5 ) 安装节点 安装节点提供安装集群系统的各种软件,包括操作系统、各种运行库、管理软 件和应用。它还必须开放文件服务,如f t p 或n f s 。 6 ) 计算节点 计算节点是整个集群系统的计算核心。它的功能就是执行计算。集群中的大部 分节点都是这种类型。 集群系统中的节点虽然由多种类型的节点组成,但并不是说一台计算机只能是 一种类型的节点。一台计算机所扮演的节点类型要由集群的实际需求和计算机的配 置决定。在小型集群系统中,用户节点、控制节点、管珲节点、存储节点和安装节 点往往就是同一台计算机,这台计算机通常成为主节点( m a s t e rn o d e ) 。在这种情 况下集群就是由多个计算节点和一个主节点构成。 集群中的节点通过高速网络相互联系,在通信网络的协议选择上可以使用普通 的t c p i p 协议,也可以使用等效t c p i p 协议的精简协议,如a m ( a c t l v em e s s a g e ) 。 很多时候为了简便起见,连接网络采用标准的以太网,除此以外。在市场上还有很 多高性能的网络技术用于机群系统的连接,我们将在下章中详细介绍。 2 2 集群系统分类 加 按构架的形式和应用目的的不同,集群系统可以分为多种类型。 复日大学硕十学位论文 m p i c h 作业递交方式的研究及改进 2 2 1 按构架形式分类 2 2 1 1b e o w u l f 集群 1 9 9 4 年夏季,t h o m a ss t e r l l n g 和d o nb e c k e r 在c e s d i s ( t h ec e n t e ro f e x c e l l e n c ei ns p a c ed a t aa n di n f o r m a t i o ns c i e n c e s ) 用1 6 个节点和以太网组 成了一个计算机集群系统,并将这个系统命名为b e o w u l f 集群系统。该集群系统提 供了一种使用c o t s ( c o m m o d i t yo ft h es h e l f ) 硬件构造集群系统以满足特殊的计 算需求的方法。这里的c o t s 是指p c 和以太网这种广为应用的标准设备,它们通常 可以由多家厂商提供,所以通常有很高的性价比。集群并行系统的这种构建方法很 快从n a s a 传遍了整个科研机构和社团,此后很多集群都采用b e o w u l f 类似的构架。 采用b e o w u l f 的系统结构使得多个计算机组成的系统能够用于并行计算。系统 通常有一个管理节点和多个计算节点构成,它们通过以太网( 或其他网络) 连接。 管理节点监控计算节点,通常也是计算节点的网关和控制终端,当然它通常也是集 群系统文件服务器。在大型的集群系统中,由于特殊的需求,这些管理节点的功能 也可能由多个节点分摊。通常由最常见的硬件设备组成,例如p c 机、以太网卡和以 太网交换机。b e o w u l f 系统很少包含用户定制的特殊设备,它通常采用那些廉价并 且广为传播的软件,例如,l t n u x 操作系统、并行虚拟机( p v m ) 和消息传递接口( m p i ) 。 2 2 1 2c o w 集群 和b e o w u l f 一样,c o w ( c l u s t e ro fw o r k s t a t l o n ) 也是由最常见的硬件设备和 软件系统搭建而成。通常也是由一个控制节点和多个计算节点构成。 c o w 和b e o w u l f 的主要区别在于: c o w 中的计算节点主要都是闲置的计算资源,如办公室中的桌面工作站,他 们就是普通的p c ,采用普通的局域网进行连接。因为这些计算节点白天会 作为工作站使用,所以主要的集群计算发生在晚上和周末等空闲时间。而 b e o w u l f 中的计算节点都是专职于并行计算,并且进行了性能优化。它们采 用高速网络( m y r l n e t 或g i g a n e t ) 上的消息传递( p v m 或m p i ) 进行进程间通 信( i p c ) 。 因为c o w 中的计算节点主要的目的是桌面应用,所以它们都具有显示器、 复旦大学硕士学位论文9 m p i c h 作业递交方式的研究及改进 键盘和鼠标等外设。而b e o w u l f 的计算节点通常没有这些外设,对于这些 计算节点的访问通常是在管理节点上通过网络或串口线实现的。 f 因为连接c o w 中计算节点的通常是普通的局域网,所以c o w 上的高性能应 用通常是像s i m d 的高吞吐计算。而b e o w u l f 无论从硬件、网络和软件上都 对需要频繁交换数据的m i m d 应用做了特别的优化。 2 2 1 3m o s i x 集群 m o s l x 是由希伯来大学开发的一个集群的中间件。和b e o w u l f 等其他集群相比, m o s l x 集群是一种非常特别的集群,它致力于在l l n u x 系统上实现集群系统的单一 系统映象s s i ( s i n g l es y s t e mi m a g e ) 。m o s t x 集群将网络上运行l l n u x 的计算机 连接成一个集群系统,系统自动均衡节点间的负载。通过对l l n u x 内核的改进,m o s i x 系统保持了原有的l l n u x 接口和机制。通常用户很少会注意到l l n u x 和m o s l x 的差 别,因为m o s l x 是在l l n u x 系统内核中实现的集群,所以用户态的应用程序不需要 任何修改就可以在m o s l x 集群上运行。对于他们来说, _ i o s l x 集群就是运行l l n u x 的一台p c 。 o s l x 系统具有易用胜和透明性、实现动态负载平衡、最大的全面性能、分布 式控制和高度的可伸缩胜、d f s a ( d i r e c tf 1 l es y s t e ma c c e s s ) 支持等新特性。尽 管现在存在着不少的问题,m o s l x 系统始终是引人注目的集群系统。 2 2 2 按应用目的分类 目前应用最为广泛的集群系统可以分为三大类:高可用性集群、负载均衡集群 和高性能计算集群。 在群集的这三种基本类型之间,经常会发生混合与交杂。可以发现高可用性群 集也可以在其节点之间均衡用户负载,同时仍试图维持高可用性程度。同样,也可 以从要编写应用程序的群集中找到一个并行群集,它可以在节点之间执行负载均衡。 从这个意义上讲,这种集群类别的划分是一个相对的概念,不是绝对的。 复旦大学硕士学位论文1 0 m p i c = i h 作业递交方式的研究及改进 2 2 2 1 高可用性集群 高可用性集群( i h g ha v a l l a b i h t yc l u s t e r ,简称h ac l u s t e r ) 是指以减少 服务中断( 宕机) 时间为目的的服务器集群。 随着全球经济的增长,世界各地各种各样的组织对i t 系统的依赖都在不断增 加,电子贸易使得商务一周七天2 4 小时不间断的进行成为了可能。新的强大的应用 程序使得商业和社会机构对日常操作的计算机化要求达到了空前的程度,趋势非常 明显,我们无时无刻不依赖于稳定的计算机系统。有许多应用程序都必须一天二十 四小时的不停运转,如所有的w e b 服务器、工业控制器、a t m 、远程通讯转接器、医 学与军事监测仪以及股票处理机等。对于这些应用程序而言,暂时的停机都会导致 数据的丢失和灾难陛的后果。这种需求以极快的速度增长,使得对系统可用性的要 求变得非常重要,如今许多公司和组织的业务在很大程度上都依赖于计算机系统, 任何的宕机都会造成严重的损失,关键i t 系统的故障可能很快造成整个商业运作的 瘫痪,每一分钟的宕机都意味着收入、生产和利润的损失,甚至于市场地位的削弱, 所以我们需要可以不问断使用的计算机系统,并且这种对高可用性系统和技术的需 求还会不断的增长。 可用性是指一个系统保持在线并且可供访问。有很多因素会造成系统宕机,包 括为了维护而有计划的宕机以及意外故障等,高可用性方案的目标就是使宕机时间 以及故障恢复时间最小化,可以容忍的宕机时间明确的说明方案的全面性、复杂性 和成本。为了提高整个系统的可用性,除了提高计算机各个部件的可靠性以外,一 般隋况下都会采用集群的方案。当一个节点( 集群中任一台提供服务的计算机) 不 可用或者不能处理客户的请求时,该请求将会转到另外的可用节点来处理,而这些 对于客户端来说,它根本不必关心这些要使用的资源的具体位置,集群系统会自动 完成。 最简单的高可用性集群有两个节点:一个节点是活动的,另外一个节点是备用 的,不过它会一直对活动节点进行监视。一旦活动节点出现故障,备用节点就会接 管它的工作,这样就能使得关键的系统能够持续工作。 考虑到计算机硬件和软件的易错性,高可用性群集的目的主要是为了使群集的 整体服务尽可能可用。如果高可用性群集中的主节点发生了故障,那么这段时间内 将由次节点代替它。次节点通常是主节点的镜像,所以当它代替主节点时,它可以 完全接管其身份,并且因此使系统环境对于用户是一致的。 复巨大学硕十学位论文 m p i c h 作业递交方式的研究及改进 高可用性群集致力于使服务器系统的运行速度和响应速度尽可能快。它们经常 利用在多台机器上运行的冗余节点和服务,用来相互跟踪。如果某个节点失败,它 的替补将在几秒钟或更短时间内接管它的职责。因此,对于用户而言,群集永远不 会停机。 某些高可用性群集也可以维护节点间冗余应用程序。因此,用户的应用程序将 继续运行,即使他或她使用的节点出了故障。正在运行的应用程序会在几秒之内迁 移到另一个节点,而所有用户只会察觉到响应稍微慢了一点。但是,这种应用程序 级冗余要求将软件设计成具有群集意识的,并且知道节点失败时应该做什么。 高可用性群集也可以执行负载均衡,但通常主服务器运行作业,而系统使辅 助服务器保持闲置。辅助服务器通常是主服务器操作系统设置的镜像,尽管硬件本 身稍有不同。辅助节点对主服务器进行活动监控或心跳观察,以查看它是否仍在运 行。如果心跳计时器没有接收到主服务器的响应,则辅助节点将接管网络和系统身 份。 2 2 2 2 负载均衡集群 负载均衡( l o a d b a l a n c e ) 集群就是带均衡策略( 算法) 的服务器集群。负载 均衡群集在多节点之间按照一定的策略( 算法) 分发网络或计算处理负载。负载均 衡建立在现有网络结构之上,它提供了一种廉价有效的方法来扩展服务器带宽,增 加吞吐量,提高数据处理能力,同时又可以避免单点故障。 负载均衡集群追求的不是高速的计算能力,而是快速的事务( t r a n s a c t i o n ) 处理 和响应能力。该类集群系统能够将大量的访问请求均衡的分配到集群系统的各个节 点,使得系统的效率达到最高,适合于有大量数据请求的应用类型。负载均衡集群 对系统的高可用性、高扩展性有较高的要求。这种集群系统是随着i n t e r n e t 的发展 和网络负荷增加而产生的。负载均衡集群往往也具有一定的高可用性特点。 负载均衡集群为企业需求提供了更实用的系统。如名称所暗示的,负载均衡集 群使负载可以在计算机集群中尽可能平均地分摊处理。负载通常包括应用程序处理 负载和网络流量负载。这样的系统非常适合向使用同一组应用程序的大量用户提供 服务。每个节点都可以承担一定的处理负载,并且可以实现处理负载在节点之间的 动态分配,以实现负载均衡。对于网络流量负载,当网络服务程序接受了太多入网 流量,以致无法迅速处理,这时,网络流量就会发送给在其它节点上运行的网络服 复旦大学硕十学位论文1 2 m p i c h 作业递交方式的研究及改进 务程序。同时,还可以根据每个节点上不同的可用资源或网络的特殊环境来进行优 化。 负载均衡集群通常会在非常繁忙的w e b 站点上采用,它们有多个节点来承担相 同站点的工作,每个获取w e b 页面的新请求都被动态路由到一个负载较低的节点 上。 与高性能计算集群一样,负载均衡集群也在多节点之间分发计算处理负载。他 们之间的最大区别在于缺少跨节点运行的单并行程序。大多数情况下,负载均衡集 群中的每个节点都是运行单独软件的独立系统。但是,不管是在节点之间进行直接 通信,还是通过中央负载均衡服务器来控制每个节点的负载,在节点之间都有一种 公共关系。通常,使用特定的算法来分发该负载。 网络流量负载均衡是一个过程,它检查到某个群集的入网流量,然后将流量分 发到各个节点以进行适当处理。它最适合大型网络应用程序,如w e b 或f t p 服务器。 负载均衡网络应用服务要求群集软件检查每个节点的当前负载,并确定哪些节点可 以接受新的作业。这最适合运行如数据分析等串行和批处理作业。那些系统还可以 配置成关注某特定节点的硬件或操作系统功能,这样,群集中的节点就没有必要是一 致的。 2 2 2 3 高性能计算集群 高性能计算集群( h i g hp e r f o r m a n c ec o m p u t i n gc l u s t e r ,简称h p cc l u s t e r ) 是指以提高科学计算能力为目的计算机集群。 高性能计算集群用来运行那些对时间敏感的并行程序,它们对于科学社区来说 具有特殊的意义。高陛能计算集群通常会运行一些模拟程序和其他对c p u 非常敏感 的程序,这些程序在普通的硬件上运行需要花费大量的时间。 高性能计算集群系统之所以可以达到高的带宽和低延迟,满足高要求的科学计 算,是因为它们通常绕过使用网络协议,如t c p i p 。虽然网际协议对于广域网很重 要,但它包含了太多的开销,而这些开销在节点相互已知的封闭网络群集中是不必 要的。节点之间可以使用直接内存访问( d m a ) 来进行通讯,它类似于图形卡和其它 外围设备在一台机器中的工作方式。因此横跨群集,可以通过任何节点上的任何处 理器直接访问分布式共享内存。同样也可以使用低开销的消息传递系统,在节点之 间进行通信。消息传递接口( m p i ) 是并行群集系统间消息传递层的最常见实现。m p i 复旦大学硕士学位论文 m p i c h 作业递交方式的研究及改进 存在几种衍生版本,但在所有情况下,它为开发者访问并行应用程序提供了一个公 共a p i ,这样开发者就不必手工解决如何在群集的节点之间分发代码段。 高性能计算集群是并行计算的基础。通常,高性能计算集群涉及为集群开发的 并行应用程序,以解决复杂的科学问题。高性能计算集群对外就好像一个超级计算 机,这种超级计算机内部由十至上万个独立处理器组成。但它却使用商业系统,并 且在公共消息传递层上进行通信以运行并行应用程序。 我们常常听说又有一种便宜的l l n u x 超级计算机问世了。这种超级计算机实 际上是一个计算机群集,其处理能力与真的超级计算机相仿,但是硬件以及运行维 护费用要比真正的超级计算机低很多,具有极高的性价比。 商性能计算集群也被称为超级计算集群,按照计算关联程度的不同,又可以分 为两种。一种是任务片方式,集群系统先将计算任务分成任务片,再把任务片分配 给各个节点,在各节点上分别计算后再进行结果汇总,生成最终计算结果。另一种 是并行计算方式,节点之间在计算过程中大量的交换数据。这两种超级计算集群分 别适用于不同类型的数据处理工作。有了超级计算集群软件,企业利用若干台p c 机就可以完成通常只有超级计算机才能完成的计算任务。通过将多台机器连接起来 同时处理复杂的计算问题。模拟星球附近的磁场、预测龙卷风的出现、定位石油资 源的储藏等隋况都需要对大量的数据进行处理。传统的处理方法是使用超级计算机 来完成计算工作,但是超级计算机的价格比较昂贵,而且可用性和扩展性不够强, 因此高性能集群系统成为了高性能计算领域的新焦点。 高眭能计算集群是一种并行计算( p a r a l l e lp r o c e s s l n g ) 集群的实现方法。并 行计算是指将一个应用程序分割成多块可以并行执行的部分并指定到多个处理器上 执行的方法。目前的很多计算机系统可以支持s m p ( 对称多处理器) 架构并通过进 程调度机制进行并行处理,但是s m p 技术的可扩展性是十分有限的,比如在目前的 i n t e l 架构上最多只可以扩展到8 颗c p u 。为了满足哪些要求高计算能力的科学计算 任务,并行计算集群的方法被引入到计算机界。著名的”深蓝”计算机就是并行计算 集群的一种实现。 由于在某些廉价而通用的计算平台( 如i n t e l + l 1 n u x ) 上运行并行计算集群可 以提供极佳的性能价格比,所以近年来这种解决方案越来越受到用户的青睐。h p c c l u s t e r 向用户提供一个单一计算机的界面。前置计算机负责与用户交互,并在接 受用户提交的计算任务后通过调度器( s c h e d u l e r ) 程序将任务分配给各个计算节点 执行;运行结束后通过前置计算机将结果返回给用户。程序运行过程中的进程间通 复旦大学硕士学位论文1 4 m p i c h 作业递交方式的研究及改进 信( i p c ) 通过专用网络进行。 顾名思义,高性能计算集群就是采用集群技术来研究高性能计算。 复旦大学硕士学位论文 m p i c h 作业递交方式的研究及改进 第三章网络技术和通信模型 集群中的节点是通过高速网络相互连接的。在这一章节中,我们将简单介绍一 下高性能系统中比较常用到的网络技术,以及一些当前高性能计算机中使用和研究 的通信模型和协议。 3 i 互连网络 由于较好地建立了以太网标准和向后兼容性,快速以太网在占领l a n 和企业网 市场方面具有最大的潜力。a t m 技术过去和现在一直得到电讯工业的大力支持,特 别适合网络互连、因特网和多媒体的应用。对于速率为g b p s 的s a n ,l a n 和机群化应 用,s c i 、h i p p i 、m y r i n e t 、i n f l m b a n d 、千兆位以太网都是很好的选择,具体的使 用主要由性能价格比决定,总的趋势是把网络从使用共享介质升级到交换结构。 在未来的网络中,千兆位的速率将变成基本的需求。在许多商品化的服务器、 主机、计算机机群和m p p 中,已出现了千兆位总线交换开关互连多计算机机群和可 扩展处理机系统中商品化网络的应用增长很快,需要每秒万亿位的网络来支持将来 万亿次浮点运算的系统。 对于高性能系统性能的衡量,应该考虑一个综合的指标,将其作为一个整体来 考虑,而不应该只注重了某些个别的参数。而且,对于有些即使硬件水平稍差的系 统,如果发展了成熟的应用环境和应用软件,也可以成为一个一定范围内比较理想 的系统。 当前,已经有各种基准程序包,来测试一个系统的各种指标,例如u n p a c k l m b e n c h 、s t r e a m 、n a s 等。同时,对一个应用程序来讲,从算法到操作系统,从软 件到硬件平台,都可能存在影响它性能的关键因素,某个部分的低效率运行会带来 性能瓶颈。比如说,存储器带宽的发展就十分落后于处理器的发展速度,而许多对 存储器要求很高的程序,即使在处理器速度十分高的系统上运行,也会由于存储器 访问的限制而性能低下。同样地,对高性能系统中的通信子系统来说,我们必须认 识到,它的陛能的提高对整个系统性能提升的贡献有多大。如果对某些计算密集型 的问题,它的通信只占很小的开销,那么这个问题所对应的程序关心的就不会是通 复旦大学碜士学位论文 m p i c h 作业递交方式的研究及改进 信延迟的i 0 0 微秒和8 5 微秒的差别,而是其它的比如任务的分割和调度等方面的问 题。而对于通信密集型的问题( 如l u ) 分解,通信的时间占了程序运行很大的比率, 其它运算的部分有可能常常在等待通信结果而阻塞,通信很可能成为瓶颈所在。此 时,通信系统的优化很可能极大地改善并行程序的性能。 相对而言,网络通信性能的屏障在现有的系统中还是广泛存在的,特别是对于 集群这类适于粗粒度问题的系统来说,许多并行应用程序往往无法避免大量的数据 交换。我们知道,原始的网络带宽以惊人的指数速率得到改善,几乎每5 年提高1 0 倍。当前,高性能计算系统中,千兆位网络已相当普遍,万亿位网络在实验室已经 演示成功( 例如,f u j i t s u 公司于1 9 9 6 年2 月,达到了1i t b s 的传输速率) ,但是, 原始的网络带宽和用户实际获得的带宽之间存在很大的差距,如果使用商用网络( 如 以太网) 和标准协议( 如s o c k e t ) ,那么硬件峰值带宽和有效带宽之间的差距将会更 大。同时,操作系统也会引入额外的通信开销。在传统的通信结构中,应用程序具 有各自的通信缓冲区,同时系统还维护一个统一的系统缓冲区,应用缓冲区中的消 息数据都必须通过系统缓冲区进出网络接口。这样就不可避免地要经过一定的数据 拷贝,耗费一定的操作系统开销,从而影响了节点机之间的消息传递效率。在上层 软件对算法已经尽可能优化的情况下,我们需要为用户提供高效的网络通信能力。 这也是并行系统的一个重要参数。 在并行计算机中,无论是采用显式的消息传递机制( 如m p i ) ,还是采用共享存 储空间的访问控制进行隐式的消息传递( 如d s m ) ,两种编程环境的实现都需要节点 间高效的消息传递机制的支持,对于通信密集型的问题( 如l u 分解) 更是如此。所以, 研究高性能计算中的通信问题,最大限度地挖掘原始网络带宽,减少软件开销,具 有重要的意义。 3 1 1e t h e r n e t 以太网是一种在局域网中广泛使用的技术,其核心思想是使用共享的公共传输 信道。以太网使用了载波侦听冲突检测( c s m a c d ) 的技术,遵循i e e e 8 0 2 3 标准。 标准以太网传输速率为1 0 m b p s ,但随着计算负荷的增大,集群需要的通讯能力 也在增大,在大量数据量传输的环境下,以太网1 0 m b p s 的带宽远不能满足使用者的 要求,因此需要更大带宽的以太网的出现。快速以太网( f a s te t h e r n e t ) 进一步把 速度提升到1 0 0 m b p s ,已作为目前集群系统的最低配置。i e e e 8 0 2 3 工作组于1 9 9 7 复邑大学硕士学位论文 m p i c h 作业递交方式的研究及改进 年宣布千兆位以太网已经成为可能。相互可操作性和向后兼容性是千兆位以太网两 个主要手段,它保留了以太网的c s m a c d 技术。1 0 0 0 m b p s 以太网根据传输的介质不 同,分别遵循i e e e s 0 2 3 z 和i e e e 8 0 2 3 a b 标准,前一个标准是基于光纤的 1 0 0 0 b a s e x 结构,后者基于双绞线介质。1 0 g 以太网是目前速度最快的以太网络。 它的标准在2 0 0 2 年6 月正式制订,遵循i e e e 8 0 2 3 a e 标准。目前1 0 0 0 m b p s 以太网 产品比较成熟,也作为最快速的网络代表,已经在集群中开始广泛利用起来。 以太网采用的c s m a c d 技术是一种随机化的重传方法:当站点希望传送时,它 就侦听电缆。如果线路正忙,它就等到线路空闲为止,否则就立即传输。如果两个 或多个站点同时在空闲的电缆上开始传输,它们就会冲突。于是所有冲突站点停止 传输,等待一个随机的时间后,再重复上述过程。这时成功的把握就非常大。这种 类别的网络称谓争用型网络,因为不同的站都在争用相同的信遘。 这种争用型网络有两种含义: f 这一模式允许多个节点用简单而灵巧的方法,准确地在同一个频道上进行 传输。 使用该频道的站点越多,发生碰撞的机率越高,从而导致传输延迟增加和 信息流通量降低。 虽然从延迟和带宽等陛能指标来看,以太网并没有多大的优势,但不可否认的 是,以太网仍然是目前为文件和硬件设备实现共享的一种最简单、易行和廉价的方 法。 3 1 2s c i s c i ( s c a l a b l ec o h e r e n c ei n t e r f a c e ) 即可扩展的一致性接口,它遵循 i e e e l 5 9 6 1 9 9 2 标准,是综合了处理器、内存、i 0 总线和l a n 的先进网络替代物, 其设计目的在于为集群系统提供一种低延迟的分布式共享内存。它提供了一个可扩 展的体系结构,允许使用大批量的廉价部件来构造大型系统。 它在互连时考虑了三个因素: 点到点链路:s c i 将不同的处理器、存储器和i 0 设备看成是节点,并且从 发送节点到接收节点间使用带有不同信号的点到点链路。 单向环:链路以一个方向运行,这使得驱动电流保持为常数,进一步降低 复旦大学硕士学位论文 m p i c h 作业递交方式的研究及改进 了噪声口。 f 并行化:与总线每个时刻仅允许一个事务处理不同,多个节点可同时注入 s c i 环中的报文。 s c i 使用基于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论