




已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)一种基于linux的集群计算系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四j i i 大学计算机学院2 0 0 2 级硕士学位论文 一种基于l i n u x 的集群计算系统的 设计与实现 专业:计算机应用技术 研究生吴颖指导老师袁道华教授 随着经济和科技的发展,在天气预报,高能物理,生物医学和地球物理等 领域的计算任务越来越多,其特点是计算数据多,算法复杂,计算规模大,难 度高。现有的解决办法有两个,其一是不断发展运算速度快,存储量大的超级 计算机,以使它们能提供应用所需的更强大的计算能力。虽然计算机工业的飞 速发展可在一定程度上暂时解决问题,但是未来的发展将会受到技术和资金的 限制。其二是利用现有的计算资源,把繁重的作业分散到每个单独的c p u 上进 行计算,这种系统就是能提供强大并行计算能力的集群系统。 我们利用实验室现有的硬件和软件资源,设计并实现一种基于l i n u x 平台的 集群计算系统,以满足实验室进行并行与分布式计算的研究工作,并对集群体 系、系统资源收集和管理、负载均衡算法、作业调度算法等进行相应的深入探 讨。主要做了以下工作: ( 1 ) 分析了国内外集群技术的研究现状。 ( 2 ) 深入分析了l i n u x 2 4 内核源码,系统调用,函数调用和m p i 并行计算 环境。 ( 3 ) 实现了一种基于l i n u x 年口m p i 的集群计算系统。 ( 4 ) 集群系统不仅可以处理用户提交的串行计算任务,也可以处理用户提 交的并行计算任务,并返回计算结果。 ( 5 ) 设计并实现了一个集群中间件,包含有作业提交模块、资源管理模块 i 四川大学计算机学院2 0 0 2 级硕士学位论文 和作业调度模块,并实现了系统单一映象。 ( 6 ) 考虑了系统的健壮性设计。 ( 7 ) 设计并实现了一些集群应用,以检验系统的计算能力。 关健词:集群系统高性能计算并行计算 i i 四川大学计算机学院2 0 0 2 级硕士学位论文 d e s i g na n di m p l e m e n t a t i o no fc l u s t e rc o m p u t i n g s y s t e mb a s e do nl i n u x m a i o r :c o m p u t e ra p p l i c a t i o n p o s t g r a d u a t e :w uy i a g a d v i s o r :p r o e y u a nd a o h u a w i t ht h ed e v e l o p m e n to fe c o n o m ym a ds c i e n c e ,t h ec o m p u t a t i o n a lt a s k s b e c o m em o r ea n dm o r ei nt h ef i e l d so fw e a t h e rf o r e c a s t i n g ,h i g h p o w e rp a y s i c s , b i o m e d i c i n ea n dp h y s i c a lg e o g r a p h y t h e i rs p e c i a l i t i e sa r e :l o t so fc o m p u t a t i o n a l d a t a , c o m p l i c a t e da l g o r i t h m s ,l a r g e s c a l ea n dm o s td i f f i c u l tc o m p u t a t i o n t h e r ei s t w os o l u t i o n s :o n ei s c o n s t a n t l y t o d e s i g n a n dm a n u f a c t u r es o m ea d v a n c e d s u p e r c o m p u t e r st h a th a dm o r ec o m p u t a t i o n a lp o w e rt om e e tt h en e e d so fc o m p l i c a t e a p p l i c a t i o n s b u ti tw i l lb ec o n f i n e db yt e c h n o l o g i e sa n df u n d si nt h ef u t u r e t h e o t h e ri st os c a t t e rt h e s eh e a v yt a s t st oa l lo fe x i s t i n gc o m p u t a t i o nr e s o u r c e s t h e d i s t r i b u t e ds y s t e mi sc a l l e da sc l u s t e rc o m p u t i n gs y s t e mt h a tc a no f f e rh i g h c o m p u t a t i o n a lp o w e r w ed e s i g n e da n di m p l e m e n t e dac l u s t e rc o m p u t i n gs y s t e mb a s e do nl i n u xw i t h e x i s t i n gh a r d w a r ea n ds o f t w a r ei nt h el a b o r a t o r y t h ec l u s t e rs y s t e mc a nm e e tt h e n e e d st h a tw ed e l v ei n t os o m ep a r a l l e la n dd i s t r i b u t e dc o m p u t a t i o n a lw o r k s w e a r g u e di nt h i sp a p e rc l u s t e ra r c h i t e c t u r e ,s y s t e mr e s o u r c ec o l l e c t i o na n dm a n a g e m e n t , l o a dl e v e l i n ga l g o r i t h m sa n dj o bs c h e d u l ea l g o r i t h m s t h em a i nc o n t r i b u t i o n so ft h i s p a p e ri n c l u d e : ( 1 ) h a sd i s c u s s e dc u r r e n td o m e s t i ca n di n t e r n a t i o n a lr e s e a r c hw o r k so fc l u s t e r t e c h n o l o g y 1 1 1 四川大学计算机学院2 0 0 2 级硕士学位论文 ( 2 ) h a sa n a l y z e dl i n u x2 4k e r n e l ,s y s t e mc a l l ,f u n c t i o nc a l la n dm p ip a r a l l e l c o m p u t a t i o ne n v i r o n m e n t ( 3 ) h a si m p l e m e n t e dac l u s t e rc o m p u t i n gs y s t e mb a s e do nl i n u xa n dm p i ( 4 ) t h i ss y s t e mn o to n l yc 3 y ld e a lw i t hs e r i a l c o m p u t i n gj o b sc o m m i t e db y u s e r s ,b u ta l s od e a lw i t hp a r a l l e lc o m p u t i n gj o b sc o m m i t e db yu s e r s a f t e rf i n i s h e d t h ec o m p u t a t i o n ,t h ec l u s t e rs y s t e mw i l lr e t u r nt h er e s u l t st ou s e r ( 5 ) h a sd e s i g n e da n di m p l e m e n t e dac l u s t e r m i d d l e w a r e ,i n c l u d i n gj o b s u b m i s s i o nm o d u l e ,r e s o u r c em a n a g e m e n tm o d u l e ,j o bs c h e d u l em o d u l ea n dl o a d l e v e l i n gm o d u l e m o r e o v e r ,w ei m p l e m e n ts s i ( s y s t e ms i g l ei m a g e ) ( 6 ) h a sd i s c u s s e ds o m er o b u s t d e s i g n so f c l u s t e r ( 7 ) h a sd e s i g n e da n di m p l e m e n t e ds o m ea p p l i c a t i o n so fc l u s t e rt oi n s p e c tt h e c o m p u t a t i o n a la b i l i t i e so f c l u s t e r k e y w o r d s :c l u s t e rs y s t e m ,h i g h - p e r f o r m a n c ec o m p u t a t i o n ,p a r a l l e lc o m p u t a t i o n 四川大学计算机学院2 0 0 2 级硕士学位论文 i 引言 i i 背景 自第一台计算机问世半个世纪以来,计算机技术已发生了五次飞跃。其主 要标志有两个:一个是计算机元器件,另一个是系统体系结构。从第一代到第 五代计算机,计算机元器件发生了根本的变化:从电子管、晶体管发展到集成 电路,而集成电路又从小规模、中规模、大规模发展到超大规模。系统体系结 构的不断改进,许多重要的概念不断提出并得到实现,这推动了计算机技术向 更高的层次发展。从早期的变址寄存器、通用寄存器、程序中断和u o 通道等概 念,到虚拟存储器、c a c h e 存储器、微程序设计、系列机、基于总线的多c p u 系统、向量处理机等概念,再发展到6 4 位r i s c 处理器、基于m p p 、n u m a 、集 群等体系结构的可伸缩并行处理系统,计算机技术得到了突飞猛进的发展。 在科学计算领域中,人们开始通过使用由普通p c 机或工作站构建的集群系 统来代替昂贵的超级计算机。比较成功的例子是高性能集群系统b e o w u l f ,它最 初是由n a s a 的g o d d a r df l i g h tc e n t e r 进行开发的,主要目的是支持大规模的科 学计算问题,如地球和太空科学面临的一些计算问题。 集群( c l u s t e r ) 就是一组计算机,它们作为一个整体向用户提供计算资源。 这些单个的计算机称为集群的节点( n o d e ) 。一个理想的集群是:用户从来不 会意识到集群系统底层的节点,在用户看来,集群是一个系统,而非多个独立 的计算机。集群系统的管理员可以随意增加和删改集群系统的节点。集群系统 采用的操作系统主要有v m s 、u n i x 、w i n d o w s n t 署h l i n u x 等。 随着l i n u x 系统健壮牲不断增强,并且提供了g n u 软件和标准化的p v m 、 m p i 消息传递机制,最重要的是l i n u x 在普通p c 机上提供了对高性能网络的支 持,推动了基于l i n u x 的集群系统的快速发展。 与单一主机相比,集群的主要优点是; ( 1 ) 可扩展性:集群系统不局限于单一的主机节点,新的节点可以动态 四川大学计算机学院2 0 0 2 级硕士学位论文 地加入到集群,从而增强集群的性能。 ( 2 )高可用性:集群中的一个节点失效,它的任务可以传递给其他节点, 从而能有效防止单点失效。 ( 3 ) 高性能:些计算密集型应用,如:天气预报,核试验模拟等,需 要计算机有很强的运算处理能力。但是,现有的技术使得大型机也很难胜任这 些计算任务。这时,一般使用计算机集群技术,集中几十台甚至上百台计算机 的运算能力来满足要求。提高计算能力一直是集群技术研究的一个重要目标之 一d ( 4 ) 高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系 统。在达到同等性能的条件下,采用计算机集群比采用同等运算能力的大型计 算机具有更高的性价比。 为了具有可扩展性和高可用性的特点,集群必须具备以下两大能力:第一 是负载均衡,能把任务比较均衡地分布到集群环境下的计算和网络资源中去。 第二是健壮性,执行任务的某一节点出现故障后,集群中的另一节点能继续完 成任务。 负载均衡和健壮性都要求各节点中有执行同一任务的资源存在,而且对于 同一任务的各个资源来说,执行任务所需的环境必须是一样的。 实现集群系统必须具有的两大技术是集群地址和内部通信。集群由多个节 点组成,集群客户端通过访问集群地址获取集群系统所提供的服务。具有单一 集群地址是集群的基本特征之一。为了能协同工作、实现负载均衡和错误恢复, 集群各节点间需要进行通信。例如,负载均衡器对节点进行心跳测试,节点间 交换作业执行状态等。 具有同一个集群地址使得客户端能访问集群提供的计算服务,个集群地 址下隐藏了各节点的内部地址,并能将客户要求的计算作业提交到各节点上。 内部通信是集群能正常运转的基础,它使得集群具有负载均衡和错误恢复的能 力。 四i 大学计算机学院2 0 0 2 级硕士学位论文 1 2 课题来源及目的 本课题是四川大学计算机学院并行与分布实验室众多课题之一,主要是希 望利用实验室现有的硬件和软件资源,设计并实现一种基于l i n u x 平台的集群计 算系统,以满足实验室进行并行与分布式计算的研究工作,并对集群体系、负 载均衡算法、作业调度算法、进程动态迁移算法等进行相应的深入探讨。 1 3 论文的主要工作 本文设计并实现了一种基于l i n u x 平台的集群计算系统,主要工作如下: 1 、分析了国内外集群技术的研究现状。 2 、深入分析了l i n u x 2 4 内核源码,系统调用,函数调用和m p i 并行计算环 境。 3 、实现了一种基于l i n u x 和m p i 的集群计算系统。 4 、集群系统不仅可以处理用户提交的串行计算任务,也可以处理用户提交 的并行计算任务,并在计算后把结果返回给用户。 5 、设计了个集群中间件,包含有作业提交模块、资源管理模块和作业调 度模块,并实现了系统单一映象。 6 、考虑了系统的健壮性设计。 7 、设计并实现了一些集群应用,以检验系统的计算能力。 1 4 论文结构 本文设计并实现了一个基于l i n u x 的集群计算系统,并讨论了相关原理和技 术。论文的结构如下: 第一章, ( 即本章) 对l i n u ) ( 集群系统做了个简要的概述,介绍了课题来源 及本文工作。 第二章,介绍了集群系统的相关知识,包括集群分类、集群体系结构、相 四川大学计算机学院2 0 0 2 级硕士学位论文 关功能模块和集群技术的研究现状及发展趋势。 第三章,简要介绍了我们设计的集群系统的一些相关背景知识,包括l i n u x 内核( 进程调度,内存管理和文件系统) 和并行计算环境m p i 的相关知识。 第四章,详细阐述了集群系统的设计,包括总体设计,软硬件环境、集群 中间件和健壮性设计等。 第五章,介绍了一些用以测试系统性能的集群应用设计。 第六章,对全文进行总结,并指出今后的工作。 2 集群体系概述 2 1 集群产生的原因 在2 0 世纪8 0 年代,人们认为计算机性能的提高主要是由于研发了更快更有 效的处理器。这种观点受到了并行处理概念的挑战。并行计算的根本意义是将 两台或多台计算机连接起来共同解决一些计算问题。从2 0 世纪9 0 年代以来, 昂贵而特制的并行超级计算机向工作站网络转换的趋势越来越强。高性能工作 站和网络部件的商品化成为促成这种转换的驱动因素。技术的发展使计算机 ( p c 机或工作站) 网络成为并行处理的理想工具,从而导致了低价商品化超级 计算的出现。 如今,高性能计算领域的发展趋势之一是利用集群系统来创建、调试、运 行并行计算任务替代专用、并行计算机平台。并行应用的许多工具和命令的标 准化是使集群系统进入现实应用的一个重要因素,这些标准的范例包括消息传 递库m p i $ 1 数据并行语言h p f 。标准化使得应用程序可以在n o w ( 集群、工作 站网络) 上改进、测试甚至运行,只需要进行很少改动就可以被移植到专用的 对c p u 运行时间进行统计和计费的并行平台上。 随着c p u 个数的增加,系统性能会得到很大提高,图21 【2 0 1 是对各系统的扩 展性比较,我们可以看到,随着集群系统的c p u 个数增加,其性能是线性增长 的。 4 四川大学计算机学院2 0 0 2 级硕士学位论文 围2 ,1 下面列举了一些集群系统比专用的并行计算机优秀的重要原因 7 j : 单个工作站或p c 机越来越强大。随着技术的发展,工作站或p c 机 的性能得到了显著的提高,甚至每1 8 至2 4 个月性能就会提高一倍。 随着新的网络技术和协议在局域网络上使用,工作站间的网络带宽 不断增加,网络延迟不断减小。 工作站集群比专用的并行计算机更容易与现有的网络整合起来。 一般说来,用户对个人工作站的使用率是较低的。 工作站的开发工具比并行计算机的专用解决方法要成熟很多,这主 要是因为许多并行系统并没有做到标准化。 工作站集群比高性能专用计算机平台便宜而且易于获得。 集群可以很容易地扩展;通过增加内存和处理器,可以很容易地增 加节点的数量。 显而易见由于局域网络是典型的高延迟、低带宽的系统,因此工作站环 境更适合于低通信强度的应用。如果应用程序中要求更高的通信性能,那么现 有配置的局域网络,如以太网,将无法满足需要。 可扩展并行应用程序需要优秀的浮点性能、低延迟高带宽通信、可扩展网 络带宽以及对文件的快速存取。集群软件可以通过使用集群系统资源达到这些 要求。可利用每个节点的磁盘来达到对文件系统的并行i 0 支持。可以用网络 四川大学计算机学院2 0 0 2 级硕士学位论文 r a m 替代硬盘作为后备存储,从而极大地改善虚似内存的性能。在一定程度上, 并行文件系统和网络r a m 减少了处理器和磁盘问原本很大的性能差距。 用以太网和专门的高性能网络来连接集群各节点已经非常普遍。这些网络 可以用在集群节点间同步传输数据。多路通信软件在传输端完成数据的多路分 解,通过多个网络在接收端进行多路复用。因此可在集群节点间进行更快的数 据通信。 2 2 可扩展并行计算机系统 在近十年出现了许多不同的支持高性能计算的计算机系统。可按它们的处 理器、内存和连接方法来分类。最常见的系统包括【? 1 :基于分布存储的并行处 理系统( m p p ) ,共享存储的多处理机( s m p ) ,一致缓存不一致内存访问 ( c c _ n u m a ) ,分布式系统和集群系统。 m p p 通常是指使用无共享资源的大型并行处理系统。它一般包括几百个节 点,节点间以高速内部互联网络连接。每个节点都有各种硬件部件,但一般包 括一个主内存和一个或多个处理器。另外,特殊的节点也可以有磁盘或备份系 统与之相连。每个节点分别运行各自的操作系统。 s m p 系统拥有2 6 4 个处理器,所有的处理器共享全部的可用资源,如总线、 内存和i o 系统等,并使用一个操作系统。 c c - n u m a 是可扩展规模的多处理器系统,是指致缓存不一致内存访问。 像s m p 一样,c c n u m a 系统中的每一个处理器都可以访问所有内存。不一致 内存访问( n u m a ) 是指访问最近和最远内存所需时间的不一致性( n o n - u n i f o r m t i m e s ) 。 分布式系统可以被认为是由许多独立计算机构成的常规网络系统。它们拥 有多个系统界面,每个节点运行它自己的操作系统,而且,分布式系统的每台 机器可以是m p p 、s m p 、集群或单个计算机。 集群系统是群以网络技术连接起来的工作站或p c 机的组合。为了进行并 行计算,集群一般是以高速网络连接起来的高性能的工作站或p c 机组成。集群 在工作中像一个统一的整合资源,所有节点使用单一界面。 6 四川大学计算机学院2 0 0 2 级硕士学位论文 表21 可扩展并行计算机的主要特征 s m p 特征m p 集群分布式 c c - n 1 0 m 节点个数 1 0 0 1 0 0 0 1 0 一l o o = 1 0 01 0 1 0 0 0 消息传递分布集中及分布式 共享文件、i t _ p c 、 节点间通信共享存储变量共享存储消息传递 消息传递 n i p c 共享 ( d s m ) 主机单一运行大部分单一运多队列但协调 任务调度独立的队列 队列行队列运行 单一映象系统 s m p 支持、 部分支持n u m a 部分支需要支持不支持 支持 持 s m p 为一个统 节点操作系统 n 个微内核或n 个同类o s 平n 个同类o s 平 一0 s ,n u m a o s 数量和类型分层o s台或徽内核 为多个o s 多,单分布共享 地址空间 堕 多或单 多 内存 节点间安全 不需要不需要暴露时需要 需要 2 3 集群计算机及其体系结构 集群是一种并行处理系统,由很多连接在一起的独立的计算机组成,像一 个整体的计算资源一样协同工作。 计算机节点可以是个单处理器或多处理器的系统,! ! 【i p c 、工作站或s m p , 它拥有内存、i o 设备和操作系统。集群系统一般是指物理上分散的两个或多个 计算机节点通过局域网络连接在一起的,对于用户和应用程序来说像一个单一 的系统,可以提供一种高性价比,高性能或高可靠性的解决方法。典型的集群 系统的结构1 7 】如图2 2 所示: 四川大学计算机学院2 0 0 2 级硕士学位论文 图2 2 集群计算机体系结构 以下是集群计算机的一些重要部件【7 1 : 多个高性能计算机( p c 、工作站或s m p ) 。 优秀的操作系统。 高性能网络( 如千兆以太网或m y r i n e t ) 。 网络接口卡( n i c ) 。 快速通信协议和服务。 集群中间件。 并行编程环境和工具( 如编译器、p v m 和m p i ) 。 应用程序。 网络接口硬件负责在节点问通过网络传送和接收数据包。通信软件提供了 快速而可靠的节点间以及与外界数据通信的手段。集群通常使用网络通信协议 在其节点间进行快速通信。集群各节点可以像集成的计算资源一样共同工作, 而集群中间件负责为独立但互联的计算机对夕 提供统一的系统映象和易用性。 编程环境可以为应用程序的开发提供可移植的、有效和易用的工具。编程环境 包括消息传递库、调试器和剖视器( p r o f i l e r ) 。 四川大学计算机学院2 0 0 2 级硕士学位论文 2 4 集群的分类 集群技术使用户可以用较低的成本构建自己的集群计算系统,以改进他们 的计算机处理能力,并提供可扩展性使计算能力得至0 增强。由于软件的可扩展 性支持,应用程序的性能也得到了提高。集群计算的另一个好处是集群故障恢 复能力,这使得备份计算机得以将属于同一集群系统内的故障计算机上执行的 任务接管过来。 基于不同的因素,集群可有以下几种分类方式: 1 、应用目的计算科学或具有很高要求的应用 高性能( h p ) 集群 高可用性( h a ) 集群 高性能集群通过将多台计算机连接起来同时处理复杂的计算问题。模拟星 球附近的磁场、预测龙卷风的出现、定位石油资源的储藏地等情况都需要对大 量的数据进行处理。传统的处理方法是使用超级计算机来完成计算工作,但是 超级计算机价格昂贵,而且可用性和可扩展性不够强,因此集群成为了高性能 计算领域瞩目的焦点。 高可用性集群的主要功能就是提供不间断的服务。有许多应用程序都必须 一天二十四小时不停地运转。如所有的w e b 服务器、工业控制器、a t m 、远程 通讯转接器、医学与军事监测仪以及股票处理机等。对这些应用程序而言,暂 时的停机都会导致数据的丢失和灾难性的后果。 2 、节点归属归属于个人或只作为集群的节点 专用集群 非专用集群 这两者的区别在于集群节点的归属。在专用集群中,特定个体并不拥有工 作站;资源是共享的,所以并行计算可以在整个集群上执行。而非专用集群是 指个人拥有工作站,应用程序是靠利用空闲c p u 周期来执行的。这种在非专用 的动态变化的工作站集群上运行的并行计算叫作自适应并行计算。 3 、节点硬件p c 、工作站或s m p p c 集群( c o p ) 9 四川大学计算机学院2 0 0 2 级硕士学位论文 工作站集群( c o w ) s m p 集群( c l u m p ) 4 、节点操作系统l i n u x 、w i n d o w s 、s o l a r i s 、a i x l i n u x 集群( ? 射 b e o w u l f ) s o l a r i s 集群( 例如,b e k e l e yn o w ) w i n d o w s 集群( 例如,h p v m ) a i x 集群( 例如,i b ms p 2 ) 5 、节点构成节点的体系结构和运行的操作系统类型 同构集群:所有的节点有相同的结构,运行相同的操作系统。 异构集群:所有的节点并不拥有相同的结构,运行不同的操作系统。 2 5 国外典型的集群计算系统 2 5 1 b e o w u i f 集群 b e o w u l f 是一种能够将多台计算机用于并行计算的体系结构。通常b e o w u l f 系统由通过以太网或其他网络连接的多个计算节点和管理节点构成。管理节点 控制整个集群系统,同时为计算节点提供文件服务和对外的网络连接。它使用 的硬件设备是普通p c 、以太网卡和集线器,软件为l i n u x 、p v m 和m p i 。 2 5 ,2c o w 集群 c o w ( c 1 u s t e ro fw o r k s t a t i o n ) 也是由最常见的硬件设备和软件系统搭建 而成。通常也是由一t 个控制节点和多个计算节点构成。c o w 和b e o m l l 啪主要 区别在于: c o w 中的计算节点主要都是闲置的计算资源,如办公室中的桌面工作站。 它们是由普通的p c 并采用局域网进行连接的。因为在白天这些计算节点是作为 工作站使用。所以主要的集群计算通常发生在晚上和周末等空闲时间。而 四川大学讨算机学院2 0 0 2 级顼十学位论史 b e o w u l f 中的计算节点是专职于并行计算,并且进行了性能优化。它们的进程间 通信采用的是高速网( m y r i n e t 或g i g a n e t ) 上的消息传递( p v m 或m p i ) 机制。 因为c o w 中计算节点的主要目的是桌面应用,所以它们都具有显示器、键 盘和鼠标等外设。而b e o w u l t 徉j 计算节点通常没有这些外设,对这些计算节点的 访问通常是在管理节点上通过网络或串口线实现的。 由于连接c o w 中计算节点的通常是普通的局域网,所以c o w 上的高性能 应用通常是像s e t i : h o m e :这样的s i m d 的高吞吐计算。而b e o w u l f 无论从硬件、 网络和软件上都对需要频繁交换数据的m i m d 应用做了特别的优化。 2 5 3m o s i x 集群 m o s i x ( m u l t i c o m p u t e ro p e r a t i n gs y s t e mf o ru n i x ) 原理是利用给内核增 加补丁的办法全面兼容i n t e l 架构的3 2 位处理器,支持内核级的负载均衡,可以 将负载准确迁移到集群成员,系统可以自动或手动的将负载优化的任务分发到 各节点。这种准确的进程迁移使集群类似一个巨大的s m p 系统,多个节点就像 多个处理器,进而提供了一种不同于n f s 的缓冲连接,时间标记连接,稳固连 接的强大应用高性能计算组合。m o s i x 是用户端透明的( 应用程序不需要因为 集群而修改源代码) l i n u x 集群系统解决方案,m o s i x 集群主要有三种规划模 式:单一池( s i n g l ep 0 0 1 ) 是将所有可以利用的无盘节点,工作站和服务器都集 中到起:服务器池( s e r v e rp o 曲是将所有服务器矩阵集中到一起;适应池 ( a d a p t i v ep 0 0 1 ) 是指集群节点按照时间设置动态的加入计算集群。 2 6 集群中间件和单一系统映象( s s d 如果一群互联的计算机被设计成看起来好象统一的资源,我 f 就认为它实 现了单一系统映象( s s i ) 。s s i 是通过中间件层实现的,处于操作系统和用户 层环境中间。集群中间件基本上是由软件基础结构的两个子层组成:s s l 基础结 构和系统可用性基础结构。 s s l 基础结构与操作系统联系在一起,在所有的节点上提供对系统资源的统 四川人学计算机学院2 0 0 2 级硕士学位论文 一访问。系统可用性基础结构在集群各节点上提供集群服务,如检查点、自动 故障检测、故障恢复和容错支持等。 2 6 1 单一系统映象层 s s i 是一个由硬件或软件创建的虚像。它可以使分散的资源集合起来作为一 个统一的、更强大的资源使用。s s i 的概念可以用于应用程序、专用的子系统或 整个集群。单一系统映象和系统可用性服务可以由以下一个或多个层来提供: 硬件( 1 2 1 d i g i t a l ( d e c ) 内存通道、硬件d s m 和s m p 技术) 。 操作系统内核底层或粘合层( 立n s o l a r i sm c 和g l u n i x ) 。 应用程序和子系统中间层。 应用程序( 如系统管理工具和电子表) 实时系统( 如软件d s m 和并行文件系统) 资源管理和调度软件( 立i l s f 和c o d i n e ) 应该注意的是程序和实时系统如p v m 也可以作为集群中问件。 s s i 层既支持如用m p i 开发的并行计算程序,也支持串行计算程序。这些应 用程序,特别是并行计算程序,要求操作透明性和性能的可扩展性,即当一个 集群的能力加强时,应用程序运行得更快。集群在一方面就像具有高度s s i 的 s m p 或m p f 系统一样,在另方面它们在功能上就像一个具有多个系统映象的 分布式系统。 2 6 1 1 操作系统层 集群操作系统在与串行应用程序共享的环境中支持并行应用程序的有效运 行。其目的是在集群中共享资源,为串行和并行应用程序提供更好的性能。为 了达到这含目的,操作系统必须支持并行程序的组调度,确定空闲的系统资源 如处理器、内存和网络) ,并提供对空闲资源的全局访问。这个操作系统除 了支持系统和用户层应用程序的快速进程间通信外,还应该支持进程迁移,以 提供动态负载平衡。 四川大学计算机学院2 0 0 2 级硕十学位论文 一一个完整的集群s s i 允许系统内所有的物理资源和内核资源可见,并被系统 内的所有节点访问。完整的s s i 可以用操作系统层的s s i 完成。换言之,每个节 点的操作系统内核共同工作,使所有节点的内核接口看起来是相同的。 一个完整的内核层s s i 可以节约作业执行时间,这是因为现有的程序和应用 程序在新的环境下不需要重新编写。另外,这些应用程序可以在任何一个节点 运行而不需要管理者进行设置。为了达到节点间负载平衡,还可进行进程迁移。 如果需要,也可以支持容错。 大部分支持s s i 的操作系统建立在现有操作系统之上,以完成全局资源分 配。这种策略使系统易于迁移、跟踪己售软件升级以及减少开发时间。 2 61 2 应用程序和子系统层 s s i 也可以通过应用程序和子系统来使多个一起工作的部件对于系统管理 员来说就像一个单一的应用程序一样。应用层的s s i 是最高层也是最重要的s s i , 因为这是最终用户所看到的界面。例如,一个集群管理工具提供了一个单点管 理和控制的服务。可以基于g u i 的工具编制一个s s i ,为管理和控制整个集群、 单个节点或特别的某个系统部件提供个单一的窗口。 子系统提供的软件可以方便的构建一个易于使用的有效的集群系统。例如, 集群文件系统能使节点的磁盘看上去好象一个大的存储系统,文件系统提供的 s s i 保证了集群的每个节点可以看见相同视图的数据。全局作业调度系统管理资 源,在提供高可用性的同时,还可咀透明地调度系统并执行应用程序。 26 2 单一系统映象的边界 提供s s i 的关键是要注意每个s s i 都有边界,并且s s i 的支持可以位于系统的 不同层次,一层可以建立在另一层之上。 例如,一个子系统,如资源管理系统,可以使一群互联的机器看上去好象 是一台机器。当在系统的边界内执行操作时,s s i 提供一个传统超级计算机的映 象。但如果在s s i 边界外执行任何操作,集群系统看上去就只是一串连在起的 四川大学计算机学院2 0 0 2 级硕士学位论文 计算机而已。另一种子系统可以使同一群机器看上去好象是一个大的数据库系 统。例如,一个使用节点本地磁盘的集群文件系统看起来像是一个大的并行文 件存储系统,并提供对数据的快速访问。 2 6 3 单一系统映象的优点 s s i 的优点有吐 它在任一节点提供一个简单、直观的关于整个系统资源和系统运行情况 的视图。 它使最终用户无须了解应用程序是在什么地方运行的。 它使操作者不必了解资源的物理位置。 它使用户可以使用熟悉的接口和命令,并使管理员得以在任一节点上管 理整个集群。 它减少了操作者失误的机会,而使最终用户得到了更好的系统可靠性和 高可用性。 它使系统可以集中或分散管理和控制,减少了对系统管理者技术的要 求。 用程序。 个资源。 它使得一个应用程序的多个共同工作的部件在管理员看来好象一个应 它大大简化了系统管理,用一条命令就可以操作分布在不同机器上的多 它提供了不依赖位置的消息通信。由于s s i 提供了对系统中发生的消息 路由的动态映射,所以操作者可以保证程序能在现有的集群上运行。 在进行系统管理工作时,它有助于跟踪所有资源的位置,因此系统操作 者不用再关心它们的物理位置。 2 6 4 中间件的设计目标 集群中间件的设计目标主要是:在支持用户应用程序时提供资源管理、可 四川大学计算机学院2 0 0 2 n 硕士学位论文 扩展性和系统可用性的完全透明。 2 6 4 1 完全透明 s s i 层必须允许用户在对系统结构不了解的前提下方便并有效地使用集群。 它应有一个便于使用的操作环境,并提供给用户的是一个全局文件系统、进程 和网络的视图。例如,用户可以在任一节点登录,在集群的单入口点看到整 个集群系统。需要注意的是,在分布式系统中,每一节点应安装相同的软件。 复杂的资源管理和任务控制,如资源定位、反定位和重定向对于用户进程来说 应是不可见的。这使得用户可以透明地访问系统资源,如内存、处理器和网络, 而不用知道它们的具体位置。 2 6 4 2 可扩展性 由于集群容易扩展,因此它的性能也可以扩展。这种扩展不需要新的协议 和a p i 。为了达到最好的性能,s s l n 务必须在节点间平均分配工作负载来支持 负载平衡和并行化。例如,单一入口点可以将用户的计算请求分配在负载轻的 节点上。集群必须以较小的代价提供这些计算服务,并保证在集群上执行相同 操作所需的时问不能大于在单个工作站上的执行时间。 2 6 4 ,3 增强的可用性 中间件服务无论何时都必须具有高可用性。无论在什么时候,单点故障必 须在不影响用户使用的情况下得到恢复。可以使用检查点设置和容错技术,例 如热备份、镜像、故障屏蔽和故障恢复等技术,来实现作业恢复。 当s s i f l 臣务是用多个节点的资源来提供的时候,任一节点的故障都不应影响 系统操作,当个节点出现故障时,节点上的作业应能透明地迁移到另一个节 点上。 四川大学计算机学院2 0 0 2 级硕士学位论文 2 6 5 s s i 的关键服务和可用性基础 理想的集群应当提供很大范围的s s i 和可用性服务。这些服务由一层或多层 提供,延伸到应用范围的各个方向。以下部分讨论了由中间件下层结构提供的 s s i 和可用性服务【7 1 。 2 6 5 1s s l 支持的服务 单一入口点:一个用户可以像连接到单一系统一样连接至集群,而不是 像分布式系统一样连接到单个节点。 单一文件层次( s f h ) :在进入系统时,用户看见的文件系统是文件的 单一层次,目录是在同一根目录下的。 单点管理和控制:整个集群可以从用单一g u i 工具创建的单一窗口进行 管理和控制。 单一虚拟网络:任何节点可以通过网络连接访问集群系统。 单一内存空间:将属于集群的各节点的内存作为共享内存。 单一作业管理系统:用户可以用透明的作业提交机制在任一节点提交作 业。作业可以以批处理、交互或者并行模式披调度执行。 单一用户接口:用户可以通过单一g u i 使用集群。这个接口必须与工作 站的接口在外观和感觉上一样。 2 65 2 可用性支持功能 单一i ,o 空间( s i o s ) :这使得任一节点可以使用本地或远程的夕 设和 磁盘设备的i o 操作。在这种s i o s 设计中,集群节点的磁盘、r a i d 和外设构成了 单一地址空间。 单一进程空间:每一进程拥有集群范围的独特的进程i d ,任一节点上的 进程可以在同一节点或不同节点上生成子进程( u n i x l i n u x 的f o r k ) 或与任何远 程节点上的其他进程通信( 通过信号或管道) 。集群可以支持全局进程管理。 1 6 四川大学计算机学院2 0 0 2 级硕士学位论文 检查点设置和进程迁移:检查点机制使进程状态和中间计算结果得以定 期保存。当节点失效时,故障节点的进程可以在另一工作节点上重新开始,而 不会丢失计算结果。进程迁移使得集群节点间的动态负载平衡成为可能。 2 7 资源管理和调度( r m s ) 资源管理和调度( r m s ) 是使计算机间分布式应用程序达到最大吞吐量的 操作,并使资源得到高效利用。执行r m s 的软件包括两个部分:资源管理器和 资源调度器。资源管理器处理定位和计算资源的配置、验证以及过程生成和迁 移等任务。资源调度器处理应用程序队列等任务以及资源定位和分配。 r m s 的出现有很多原因,例如,负载平衡、使用空闲c p u 周期、容错系统、 管理系统资源等。但主要的原因是r m s 的存在为它们所管理的用户应用程序提 供了更可靠的服务和更高的吞吐量。 基本的r m s 结构是客户机一服务器系统。简单地说,每个计算机共享运行 服务器守护进程的计算资源。这些守护进程保存着最新列表,存储了它所在的 r m s 环境信息。用户通过客户端程序使用网络浏览器或x w i n d o w s 界面与r m s 环境交互。应用程序既可以以交互方式也可以以批处理方式运行。在批处理方 式中,应用程序作为一个作业提交给r m s 系统运行。为了提交批处理作业,用 户需要通过r m s 客户机向系统提供作业详情。作业详情包括可执行程序位置和 输入数据集的位置、标准输出的位置、系统类型、最长运行时间、作业需要串 行还是并行资源等等。一旦作业被提交到r m s 环境,它就使用作业详情来正确 地存储、调度和运行作业。 r m s 环境提供对用户的中间件服务,使用户可以方便而有效地使用工作 站、s m p 和专用并行计算平台等多种计算环境。r m s 环境提供的服务包括_ l : 进程迁移:使进程可以在r m s 环境中的另一台计算机上挂起、移动和 重启动。一般说来,进程迁移的发生是由于一个计算资源的负载过重而另一个 资源空闲且可以使用。 检查点:这是程序执行状态的一个瞬态图,使程序在必要时可以在同一 点上重新开始执行。当r m s 环境的一部分出现故障时,正在运行的程序可以从 凹川大学汁算机学院2 0 0 2 级硕士学位论文 中间某点重新开始,而不需要从头开始。 搜寻空闲周期:一般说来,工作站有7 0 至9 0 的时间是空闲的。r m s 系统可以使用空闲的c p u 周期。例如,作业可以在晚上或周末提交给工作站。 容错:通过管理作业和资源,r m s 系统可以提供不同层次的容错。简 单地说,容错支持使发生故障的作业可以再启动,从而保证了作业的正确完成。 减少用户的干预:r m s 系统试图通过降低作业的本地调度优先级或将 作业挂起将交互用户的干预减到最小。挂起的作业可以在以后重新启动或迁移 到别的系统资源上运行。 负载平衡:在一个特定的结构中作业可以分布在所有可用的计算平台 上。这使资源得以有效利用,而不是让用户只使用其中一部分。进程迁移也是 负载平衡策略的一部分。 多应用程序队列:作业队列可以用来在特定结构中协助管理资源。每一 队列可以配置一定的属性。例如,某些小作业的优先级可能高于大作业。r m s 系统的队列可以对用户透明。 2 8 编程环境和工具 2 8 1 消息传递系统( m p l 和p ) 消怠传递库使程序员可以为分布式存储
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建省邵武市中考物理能力提升B卷题库含答案详解【黄金题型】
- 河北省保定市六校联考2024-2025学年高二下学期期末考试语文试题(解析版)
- 钢结构设计优化方案
- 水库枢纽水库运行与调度方案
- 热力调度系统数据分析
- 排水工程施工管理方案
- 大型公共设施施工技术与管理方案
- 执业药师之《药事管理与法规》题库检测模拟题附答案详解【轻巧夺冠】
- 2025正规借款合同书样本
- 2025网签版授权买卖合同范本
- 烟草证借用合同协议书
- 合同协议书格式怎么写
- 解除市场经营协议书
- 接送病人用车协议书
- 《现代色谱技术之液相色谱法》课件
- 《寻找消失的分数》期中考试分析班会课件
- 2025至2030年中国移动式皮带输送设备市场调查研究报告
- 摩擦纳米发电机优化论文
- 科技馆面试题及答案
- 2022年二级建造师考试《矿业工程管理与实物》真题及答案
- 数据中心锂离子电池消防安全白皮书
评论
0/150
提交评论