已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)beowulf集群系统负载均衡问题研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 计算机集群系统是通过高速网络将一组p c 或工作站连接起来构 成的高可靠、可扩展的服务器系统。集群中各p c 或工作站通过统一 调度、协调运行达到高效并行处理的目的。b e o w u l f 集群结构开放, 具有较高的性能价格比,是典型的集群系统之一。集群系统负载均 衡策略是目前集群系统研究的重要课题。 本文首先对b e o w u l f 集群服务器负载均衡问题的相关理论进行 了介绍与分析。然后从集群系统的服务器端出发,提出了一种基于 遗传算法的b e o w u l f 集群系统节点负载均衡算法,用节点的总体资 源、c p u 的就绪队列长度和节点的任务数来构造遗传算法的目标函 数,既考虑了b e o w u l f 集群异构的特点,又能很好地体现负载程度, 通过使用网络压力测试工具对该算法进行性能测试,表明能够降低 服务器端请求的响应时间,改善了系统性能。从客户端角度出发, 提出了一种动态反馈自适应均衡改进算法,采用客户端下载速度来 衡量节点的负载,通过仿真模拟表明该算法有效地达到均衡负载的 目的,能够根据资源使用状况及时做出反应,从而为客户端提供良 好的服务能力。 关键词集群,b e o w u l f , 负载均衡,遗传,动态反馈 a bs t r a c t c o m p u t e rc l u s t e rs y s t e mi sa ne x p a n d a b l es e r v e rs y s t e mh a v i n g l l i 曲r e l i a b i l i t yw h i c h c o n n e c t sag r o u po fp c so rw o r k s t a t i o n st ob u i l da l l i g l l 一s p e e dn e t w o r k t h e s ep c sa n dw o r k s t a t i o n sa r ep a r a l l e lh a n d l e db y u n i f i e ds c h e d u l i n ga n dc o o r d i n a t e l yr u n n i n gi nt h ec l u s t e rs y s t e m b e o w u l fc l u s t e rs y s t e mi sm o r ec o s t - e f f e c t i v et h a no t h e rc l u s t e rs y s t e m s i ti sat y p i c a lo n eo ft h em o s tp o p u l a rc l u s t e rs y s t e m a n dt h el o a d b a l a n c ep o l i c yo fi ti sa ni m p o r t a n ts u b j e c to fc l u s t e rs y s t e ma tp r e s e n t i nt h i sp a p e r , a ni n t r o d u c t i o na n da n a l y s i so fr e l a t i v et h e o r ya n d p r i n c i p l ei sd o n ea b o u tl o a db a l a n c ep r o b l e mo ft h ec l u s t e rs e r v e r a n d t h e na c c o r d i n gt ot h er e s e a r c ho fc l u s t e rs y s t e ms e r v e r , al o a db a l a n c e a l g o r i t h mf o rn o d e so fb e o w u l f c l u s t e ri sp r o p o s e db a s e do nt h eg e n e t i c a l g o r i t h m t h eo b j e c tf u n c t i o nw i t ht h eg e n e r a lr e s o u r c eo fn o d e si s c o n s t r u c t e dw i t ht h el e n g t ho fr e a d ya r r a ya n dt h en u m b e ro fn o dt a s k s , w h i c hn o to n l yc o n s i d e r i n gt h ei s o m e r i cf e a t u r eo fb e o w u l fc l u s t e r , b u t a l s oe x p r e s s i n gt h e1 0 a de x t e n s i o n 硼1 en e t w o r kp e r f o r m a n c et e s tw i t h t h en e tp r e s s u r et e s t i n gt o o l sh a sb e e nm a d e w h i c hs h o w si tc a nl o wt h e r e s p o n s et i m eo ft h e s e r v e rt oe n h a n c et h es y s t e mp e r f o r m a n c e a d y n a m i c f e e d b a c k s e l f - a d a p t i n gu p d a t e da l g o r i t h m i s s u p p o s e d c o n s i d e r i n gt h ec l i e n t , u s i n gt h ed o w n l o a ds p e e dt om e a s u r et h el o a do f n o d s s i m u l a t i o nh a si n d i c a t e dt h a tt h i sa l g o r i t h mc a no b t a i nt h el o a d b a l a n c ee f f e c t i v e l y , a n dc a np r o v i d eag o o ds e r v i c ee f f e c tf o rc l i e n t s a c c o r d i n gt h ec o n d i t i o no fr e s o u r c es c h e d u l i n g k e yw o r d s c l u s t e r ,b e o w u l f , l o a db a l a n c i n g ,g e n e t i c ,d y n a m i c f e e d b a c k 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名:耸牡日期:兰必止月一日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位 论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论 文;学校可根据国家或湖南省有关部门规定送交学位论文。 作者签名伴导师签名业日期:珥一年卫月 硕士学位论文第一章绪论 1 1 研究背景 第一章绪论 随着计算机网络技术的不断发展和广泛应用,i n t e r n e t 已成为社会各个方 面必不可少的交流手段。由于客户机服务器模型的简单性、易管理性和易维护 性,客户机服务器模式在网上被广泛应用。万维网( w o r l dw i d ew e b ) 以其简单 操作方式将图文并茂的网上信息带给广大用户,使用户可以通过简单的图形界 面访问互联网上的各种信息和服务,这促使i n t e r n e t 用户剧烈增长,服务器系 统对任务处理变得越来越繁重,网络服务器不堪重负,特别对于访问数量多的 站点,服务器经常在短时间内过载。解决该问题的方法通常有两个:一是单服 务器策略,不断升级服务器,使其具有更高的性能。然而网络的急剧扩展必然 经常升级服务器系统,造成这种升级成本提高。另一种方法是多服务器策略。 当负载增大的时候,只需在服务器群上增加一个或多个服务器即可,这种技术 就是服务器集群技术。与单服务器策略相比,集群技术可以利用各档次的计算 机作为节点,不仅系统的造价低,还可以实现很高的运算速度,提高性能,能 够满足目前网络服务要求n 儿射。 1 关于集群系统 集群技术是将若干个松散连接的独立的服务器架构成具有高可靠性和可扩 展的集群服务器。集群的内部结构对客户是透明的,客户端只看到一个高性能 的服务器端。当集群中一个节点发生故障时,集群软件迅速做出反应,将故障 节点移出系统,直到故障解除。当总体的工作流量超出集群的承受能力时,可 以向集群中透明地增加节点。实际服务器是通过高速的l a n 或物理上分散的w a n 相连,其前端是负载均衡器。由负载均衡器将客户端的请求分发给后面实际的 服务器,每个实际的服务器都有自己的物理地址,但客户端只能看到负载均衡 器的i p 地址。这样多个实际的服务器提供的服务在外界看起来好像是由一个高 性能的服务器提供的一样。 服务器集群系统的优越性及作用主要有口1 : ( 1 ) 避免服务器软、硬件升级造成服务器暂时的中断; ( 2 ) 避免单点失效的出现; ( 3 ) 能够实现透明的负载均衡; 硕士学位论文第一章绪论 ( 4 ) 能够真正的保证高可用性,高可靠性,高性能等特性。 2 关于负载均衡 负载均衡技术基于现有网络结构,提供了一种扩展服务器带宽和服务器吞 吐量的方法,加强了网络数据的处理能力,提高了网络的灵活性和可用性。负 载均衡的应用,能够有效地解决网络拥塞问题,能够就近提供服务,还能实现 与地理位置无关的异地负载均衡。同时,这项技术还能提高服务器的响应速度, 提高服务器及其它资源的利用效率,避免网络关键部位出现单点失效,从而为 用户提供更好的访问质量脚。 目前具体的负载均衡实现技术主要有以下几种: ( 1 ) 基于d n s 的负载均衡技术,通过d n s ( d o m a i nn a m es e r v e r ,域名服务器) 的随机名字解析,实现负载均衡。即在d n s 服务器中,为多个不同地址配置同 一个名字,解析时随机得到其中一个地址。因此,对于同一个名字,不同的客 户机会得到不同的地址,它们也就访问不同的地址上的w e b 服务器,从而达到 负载均衡的目的。这是一种常用的、也最容易实现的一种方法匝1 。 ( 2 ) 基于反向代理服务器的负载均衡技术,通过反向代理服务器,实现负载 均衡。即多个客户通过代理服务器将其请求均匀地转发给多台内部服务器,从 而实现了负载均衡。 ( 3 ) 基于n a t 的负载均衡技术,通过n a t ( n e t w o r ka d d r e s st r a n s i a t i o n , 网络地址转换) 内部和外部地址之间的转换,将每个外部连接均匀转换为不同的 内部服务器地址,以实现负载均衡。 ( 4 ) 基于集群的负载均衡技术,在集群( c l u s t e r ) 服务器组中,充当管理者 的负载均衡器把收到的请求转发给集群中负载最轻的服务器,以实现负载均衡。 3 关于b e o w u l f 集群 集群系统采用的操作系统主要有v m s ,u n i x ,w i n d o w sn t 和l i n u x 。v m s c l u s t e r 是由美国的d e c 公司开发的,但它只能适用于v a x 系列和a l p h a 系列 服务器,应用受到较大的限制:m i c r o s o f t 公司从w i n d o w s2 0 0 0 开始增加了集 群功能w o l fp a c k ,它主要是在企业级对基于w i n d o w s n t 服务器的应用程序提 供可用性和可升级性,但只能运行于w i n d w o s n t 操作系统上。由于w i n d o w s n t 操作系统本身在稳定性、大型并行计算上与u n i x 系统存在较大差距,目前主要 在中小型系统上应用,但是随着w i n d o w s n t 系统走向成熟,基于w i n d o w s n t 的 计算机集群系统将获得更广泛的应用;基于u n i x 的集群系统由于它集高可靠 性、高可用性和易管理性于一身,是关键业务计算机系统的理想解决方案,而 被许多大公司所采用,如d e c ,h p ,s u n ,i b m 等公司,但其投入较大。 由于l i n u x 的开放源代码的公共惯例,使得基于l i n u x 的集群系统自2 0 世 2 硕士学位论文第一章绪论 纪9 0 年代末迅速发展,并不断走向成熟,它提供了标准化的p v m ( p a r a l l e l v i r t u a lm a c h i n e ,并行虚拟机) 和m p i ( m e s s a g ep a s s i n gi n t e r f a c e ,消息传 递接口) ,在普通p c 机上提供了对高性能网络的支持,因此发展很快。 现在出现了各种各样的l i n u x 集群解决方案,如t u r b ol i n u x 公司推出的 高可用性集群系统t u r b oc l u s t e r ,r e dh a t 推出的p i r a n h a ,是基于l v s ( l i n u x v i r t u a ls e r v e r ,l i n u x 虚拟服务器) 思想构建的高可用性集群。e r i c s s o n 软件 工程研究中心开发的高可用性集群系统e d d i e ,是能够提供较好服务质量的服 务器集群解决方案。在集群计算方面,基于l i n u x 的b e o w u l f 是一个高性能的 集群系统。 b e o w u l f 集群的研究是由美国国家航空航天局于1 9 9 4 年启动的。1 9 9 4 年, t h o m a ss t e r l i n g 和d o nb e c k e r 等人构建了一台由以太网连接的拥有1 6 个d x 4 处理器的集群。他们把这个集群计算机叫作b e o w u l f ,主要用来进行地球、空 间科学的研究。b e o w u l f 的主要目的是使用普通的、相对廉价的计算机构建能 够处理繁重计算的集群。此后,b e o w u l f 的思想迅速被世界上许多研究机构认同 和接受删。 b e o w u l f 集群是一种系统结构,它使得多个计算机组成的系统能够用于并 行计算。系统通常有一个管理节点和多个计算节点构成。它们通过以太网( 或其 它网络) 连接。管理节点监控计算节点,通常也是计算节点的网关和控制终端。 b e o w u l f 集群通常由最常见的硬件设备组成,例如,p | c 和以太网交换机,一般 很少包含用户定制的特殊设备。通常采用那些廉价且广为传播的软件,例如, l i n u x 操作系统和著名的消息传递接口m p i 。 图1 - - 1 是b e o w u l f 集群的组件视图n 伽。它揭示了b e o w u l f 集群的组成部 分。 3 r 。1e 出。 图1 1b e o w i f 集群的纽件视图 品墨然勰焉i 黾、鬻芝篓品,嬲抑肝节点间通信的局谲美嚣嚣、鬻警黧 痞, b e o 聊u l 篓薰量 三,一f 集群采用l i n u x 卅睁i 的方戛羔蕃荛要专竺了孳套的性璺:通 嚣瑟豢氍篓 1 2 课题研究的目的和意义 b e 。w u 1 f 集群相对s m p ( s y m m e t r i c a l m u l t i p r 。c e s s i n g ,对称多处理) 和 硕士学位论文第二章绪论 m p p ( m a s s i v e l yp a r a ll e lp r o c e s s i n g ,大规模并行处理) 具有更高的可扩展性、 可用性和易维护性,而且性价比高。更重要的是,由于b e o w u l f 集群基于i a 构架,采用的是商用处理器和商用高速网络,并且采用消息传递m p i 的并行程 序间通信,使其开发的程序具有很高的通用性和可移植性。基于b e o w u l f 集群 技术的高性能计算平台已成为并行计算系统发展的一种新主流技术。 由于集群系统数据量大,其性能瓶颈较大程度上受制于需要从硬盘读取和 向网络发送以g 比特计的媒体数据,因此服务器集群的负载均衡需要综合从可 用带宽变化及网络流量和节点本身资源等的使用状态方面进行考虑。 b e o w u l f 集群的负载均衡技术是在现有的网络结构之上,提供了一种有效 的方法来增加b e o w u l f 集群系统的有效吞吐量,提高系统的数据处理能力。其 负载均衡有两个方面的含义: ( 1 ) 大量并发访问和数据流量能够分担到多个节点设备上分别处理,以减轻 用户等待的响应时间; ( 2 ) 可以把单个重负载的节点上的业务量分摊到其他负载量相对较轻的节 点上,均衡系统的负载,提高整个系统的事务处理能力。 负载均衡算法将客户端请求分布在集群的各个节点上,可以使集群系统能 够承受更大的负载,使集群的可用性、可靠性和可扩展性都得到很大的提高, 从而最大限度的利用现有的设备资源。 负载均衡算法包括两大类:一类为静态负载均衡算法,它只根据预定的算法 运行即可,。没有考虑到负载节点的动态变化情况;另一类为动态算法,它依据 节点目前的各资源使用情况来优化负载以达到充分使用各节点资源的目的。在 以往的资源优化分配方法上很多算法局限于一维资源,而采用二维方式同时研 究多种资源分配使用的算法又相对较复杂,因此有研究借鉴相关异构系统负载 均衡算法进行算法的简化。 1 3 集群和负载均衡的研究现状 基于l i n u x 的虚拟服务器技术l v s 是集群技术中应用比较广泛的一种技术。 1 9 9 8 年5 月,章文嵩博士成立l v s 项目,目前已受到了不少关注,l v s 集群系 统已被应用于很多重负载的站点,据悉该系统己在美、英、德、澳等国的几十 个站点上正式使用。举l v s 的应用实例来说明l v s 这几年的发展清况。一些大 型l v s 应用实例如下。1 印: ( 1 ) 英国国家j a n e tc a c h es e r v i c e ( 肿哪c a c h e j a n e t ) 为英国1 5 0 所以 5 硕士学位论文第一章绪论 上的大学提供w e bc a c h e 服务。他们用2 8 个节点的l v s 集群代替了原有的5 0 多台相互独立的c a c h e 服务器,用他们的话说现在速度就跟夏天一样,因为夏 天是放假期间没有很多人使用网络。 ( 2 ) s o u r c ef o r g e ( s o u r c e f o r g e n e t ) 是在全球范围内为开发源码项目提供 w e b ,f t p ,m a i l i n gl i s t 和c v s 等服务,他们也使用l v s 将负载调度到十几台机 器上。 。 ( 3 ) l i n u x 的门户站点( w w w 1 i n u x c o m ) 用l v s 将很多台v al i n u xs m p 服 务器组成高性能的w e b 服务 ( 4 ) 以r e a l p l a y e r 提供音频视频服务而闻名的r e a l 公司( 嗍r e a l c o m ) 使用由2 0 台服务器组成的l v s 集群,为其全球用户提供音频视频服务。 ( 5 ) n e tw a l k ( 册n e t w a l k c o m ) 用多台服务器构造l v s 系统,提供1 0 2 4 个虚拟服务。 ( 6 ) r e d h a t ( w w w r e d h a t c o m ) 从其6 1 发行版起已包含l v s 代码,开发了 一个l v s 集群管理工具叫p i r a n h a ,用于控制l v s 集群,并提供了一个图形化 的配置界面。 ( 7 ) v al i n u x ( 肿v a li n u x c o m ) 向客户提供基于l v s 的服务器集群系统, 并且提供相关的服务和支持。 、 ( 8 ) t u r b ol i n u x 的“世界一流l i n u x 集群产品 t u r b oc l u s t e r 实际上是 基于l v s 的想法和代码的。 集群系统的负载在不同的环境下概念是不同的,一个环境下的负载均衡算 法可能并不适合另一个环境。比如说对于异构集群服务器,各台服务器性能不 同,各种负载分布模式将导致系统中各台服务器对外表现的不同。 国外许多厂商推出了专用于集群服务器负载的负载均衡器,这些厂商包括: c is c o 、i n t e l 、a l t e o nw e b 、i b m 、h y d r a w e b 以及r a d w a r e 等u 剀。 最初的可扩展服务器s c a l a b l ew e bc l u s t e rs e r v e r 就是最早基于轮循域 名系统r r - d n s 实现负载均衡的原型系统n 7 1 。 c i s c o 的l o c a ld i r e c t e r 使用了最小连接算法和快速响应算法,把请求 分配到实测最快的服务器;i b m 的n e t w o r kd i s p a t c h e r 选择当前连接数量最 少的服务器作为请求分配的目标。 i n t e l 网擎系列是负载均衡器的典型产品。网擎系列中的7 1 7 0 网络应用负 载均衡器,可应用于本地负载均衡服务。该设备根据实时响应时间进行判断, 将任务交由负载最轻的服务器来处理,服务器故障切换和多重冗余特性可以让 通信绕过故障点,从而使用户站点始终保持运行和可访问性。网擎系列中的 7 1 9 0 多址负载均衡器可用于远程负载均衡服务,能够根据单个u r l 地址将通 6 硕士学位论文第一章绪论 信路由到方便可用的站点,从而实现广域网范围的负载平衡,采用快速响应 模式”,使所有的站点都能对同一用户的访问请求作出响应,响应最快的站点将 接受并完成这一访问任务,而不是在发生用户请求时计算“最快”的路由因而产 生额外的延迟时间。管理员可以采用这种模式确保很短的服务器响应时间,也 可以选择对用户满意度产生更大影响的其他算法。 在国内,研究w e b 集群服务器负载均衡的有清华大学、浙江大学、国防科 学技术大学等,且清华大学实现了可扩展并行w e b 服务器集群系统t h - w e b c l u s t e r 【m 。 目前,人们己经提出了许多用于实现w e b 集群服务器系统的负载均衡算 法。这些算法主要包括:随机算法、轮循算法、加权轮循算法、最少连接算法、 快速响应优先、散列算法等。 1 4 本论文的主要工作与组织结构 本文主要做了以下几个方面的工作: ( 1 ) 本文在分析当前网络应用对服务器系统性能需求的前提下,考虑采用 b e o w u l f 集群系统,在多个服务器之间均衡负载,并保证整个系统对用户的透 明性: ( 2 ) 介绍与分析了集群与负载均衡相关的理论知识; ( 3 ) 提出了基于遗传算法的负载均衡改进算法与动态反馈自适应均衡算 法,分别进行了性能测试与仿真,并对结果进行了分析。 本文一共分为五章,每章的内容如下: 第一章是绪论,结合本文所研究问题的技术背景、研究现状,提出了本文 所要研究的问题,并简要论述了其研究的意义。 第二章给出了服务器集群的结构体系,提出了集群负载均衡问题,描述了 几种传统的负载均衡算法,对负载均衡算法实现进行了数学建模与分析。 第三章则在给出一般遗传算法的基本原理与流程的基础上,对负载进行优 化,包括染色体的定义、适应度函数的选择以及三个核心算子的设计,并采用 网络压力测试工具进行性能测试与比较。 第四章提出了一种动态反馈自适应均衡改进算法,并采用网络模拟工具n s 2 进行算法的仿真。 第五章是对b e o w u l f 集群负载均衡算法研究的总结,并指明下一步的工作 重点。 7 硕士学位论文第二章b e o w u l f 集群系统与负载均衡 第二章b e o w u if 集群系统与负载均衡 2 1b e o w u l f 集群系统 集群并行技术已广泛应用于w e b 应用、科学计算和数据库应用等领域,正 以高性能、可伸缩和价格低廉等优势迅猛取代高成本低收益的传统超级计算机 n 们。b e o w u l f 集群系统是目前典型的集群系统之一,鉴于它使用廉价的硬件节 点和开放的l i n u x 操作系统,而且具有良好的性能而得到了广泛的使用和支持。 2 1 1 服务器集群的概念 在实际应用中,人们经常要用到比串行计算机所能提供的能力更强的计算 能力。克服这种限制的一种方法是增加处理器和其他部件的运算速度,但可能 性能再卓越的设备也不能满足人们的需要。因而可以采用另一种方式,即将多 个处理器连接起来,使用它们合起来的计算能力,这种系统也即被称之为并行 计算的系统。创建和使用并行计算机的主要原因是因为并行计算是解决单处理 器速度瓶颈的最好方法之一,同时由于使用超级计算机对大多数用户而言也是 一件可望而不可及的事情,在这种情况下,集群技术渐渐引起了人们的注意, 集群就是一种并行或分布式处理系统,由很多连接在一起的独立的计算机组成 并协同工作。服务器集群系统是利用高速互联网络将一组高性能服务器连接起 来,在并行程序设计和集成开发环境支持下,统一调度、协调处理、实现高效 处理以得到综合性能最优的系统。 提高c p u 主频和总线带宽是最初提高计算机性能的主要手段,但是这一手 段对系统性能的提供是有限的。接着人们通过增加c p u 个数和内存容量来提高 性能,于是出现了向量机,对称多处理机s m p 等。但是当c p u 的个数超过某一 阈值,像s m p 这些多处理机系统的可扩展性就变得极差,主要瓶颈在于c p u 访 问内存的带宽并不能随着c p u 个数的增加而有效增长。与s m p 相反,集群系统 的性能随着c p u 个数的增加几乎是线性变化的。图2 1 显示了这种情况。 8 硕士学位论文第二章b e o w u l f 集群系统与负载均衡 图2 1 几种计算机系统的可扩展性 集群技术可以使多个服务器看起来像一个系统,集群内各节点服务器通过 一个内部局域网相互通信。当一台服务节点发生故障不能提供服务时,这台服 务节点上运行的程序可以为另一台服务节点所自动接替,因而一个应用服务发 生故障就会转移到另一个服务节点上继续运行。并且,还可以通过添加服务器 来提高系统性能。通过集群技术,多个服务器从客户端来看是一个系统( 集群系 统) 。客户端通过使用虚拟i p 地址或计算机名访问集群系统。当提供服务的某 一服务器节点宕机时,集群系统将该服务切换到其他正常的服务节点,而客户 端的使用者不会意识到所使用的服务器已宕机口。如图2 2 所示。 么夕秘障 暇、 疆务器: 静、i 移 i 图2 2 服务节点宕机后服务转移 人们有时很容易将集群技术与双机热备份技术混为一谈,但其实它们有本 质上的区别,即能否实现并行处理和节点机失效后的任务平滑接管。双机或多 机热备份技术的原理是一台服务器做主机,其他服务器做备份机,主机失效时, 备份机接管。 9 硕士学位论文第二章b e o w u l f 集群系统与负载均衡 这种工作模式存在三个主要问题:主机发生故障时,备份机不能实现平滑接 管,即应用系统会中断;备份机平时不做任何工作,造成资源浪费;不具备负载 均衡、并行处理的能力。而集群技术是使用特定的连接方式,将比超级计算机 便宜许多的硬件设备结合起来,提供与超级计算机性能相当的任务处理能力。 目前最为流行的方式是用高速网络传输设备将几台服务器相连,实现并行处理, 屏蔽单点失效。 集群系统概念的提出带来了许多的优点,其最主要的优点是可易用性,高 可用性,可伸缩性和良好的性价比。 ( 1 ) 可易用性:因为集群系统的单个节点仍旧是传统的平台,所以用户可以 在他们平时就很熟悉的环境下面开发和运行应用程序。同时,这也可以让许多 现有的程序可以不加修改就运行在处理能力强大的集群系统平台上,非常有利 于保护用户已有的软件投资。 ( 2 ) 高可用性:高可用性包括可靠性和好的可用性等。在传统的系统中,如 大型机和容错系统,通常是以高费用为代价来提供高可用性。相反,在集群系 统中,却是用低费用的组件,通过检测节点或服务进程故障和正确地重置系统 达到高可用性。集群系统可用性的实现,其关键技术是开发共享组件可用的软 件。 ( 3 ) 可伸缩性:一个集群系统的可伸缩性是通过在服务器群中透明地加入和 删除节点来达到。同时,集群的可伸缩性是多面的。包括资源的可伸缩性、应 用的可伸缩性和技术的可伸缩性等。s m p 提供了处理器的可伸缩性,在集群系 统中的可伸缩性可以是计算机的各个组件,如处理器、硬盘、内存或者i o 设 备以及软件组件等。 ( 4 ) 良好的性能价格比:集群系统良好的性能价格比是它受到人们青睐的重 要因素,它可以把一些廉价系统组合在一起协同工作。在总体上的性能却可以 超过大型机甚至巨型机。美国亚特兰大的e m o r y 大学,c e s d i s 歌德航天飞行 中心和加利福尼亚技术学院的科学技术人员、研究人员和实验室工作人员一起 在1 9 9 7 年建立了1 6 个节点的p - 2 0 0 微机集群的b e o w u l f 系统,只用5 万 美元而使系统达到每秒1 0 亿次浮点运算的能力。使用大众化的p c 通过l a n 互联而达到超级计算机的功能和能力。 同时,集群技术可以保护用户原有的硬件投资,用户可以用新旧设备组合 起来成为一个集群,达到提供更高的性能的目的。 l o 硕士学位论文第二章b e o w u l f 集群系统与负载均衡 2 1 2 集群系统的结构体系 集群是一种并行或分布式处理系统,由多台独立的计算机通过高速网络互 连在一起组成。从客户端来看,这些计算机作为一个整体来为用户服务。集群 计算机的主要组成部分如下: ( 1 ) 高性能计算机,包括p c 、工作站或者s l i p 机; ( 2 ) 操作系统( 分层或基于微内核) ; ( 3 ) 高性能的网络和网络接口卡,如千兆位以太网等: ( 4 ) 快速通信协议和服务,如活动消息和快速消息: 一 ( 5 ) 集群中间件,包括硬件、操作系统内核或粘合层、应用程序和子系统, 如系统管理工具、并行文件系统和负载均衡器等; ( 6 ) 并行编程环境和工具,如编译器和m p i ; ( 7 ) 应用程序。 集群节点的监控管理以及进行负载均衡的依据都是通过集群节点之间的心 跳协议进行的。一般情况下,集群节点可以提供诸如处理器负载、应用系统负 载、活跃用户数、可用的网络协议缓存以及其他的资源信息。心跳协议监控各 个节点的健康状况,周期性地交换各个节点的负载信息。信息通过高效的消息 机制传给均衡器,均衡器运行负载均衡算法并监视所有处理节点的状态,主动 决定下一个任务传给谁。每个节点以心跳周期为间隔向集群其它节点广播心跳 消息,如果在规定时间内没有收到某节点的心跳,则认为该节点发生了故障。 均衡器可以是单个设备,也可以是一组平行或树状分布的设备。 集群系统是高性能网络或者l a n 进行物理连接的计算机的集合蚴嘲。集合 里的计算机又叫做节点,它们是一些完整的独立的计算机系统。集群中的节点 可以是服务器,也可以是工作站,可以是p c ,也可以是大型机甚至是m p p s 。 集群系统中的各个节点在保持本身计算机系统完备性的同时,还应该具有另一 个更为重要的特征,即各个节点必须能够在一起协同工作,形成一个单一的、 集成的系统资源。集群系统结构体系如图2 - - 3 所示。 每一个集群节点是一台完整的计算机,在每一个节点上都驻留着一个完整 的,标准的操作系统。每一个节点上允许有一个或者多个处理器,但是它们只 能有一个操作系统的映像。 硕士学位论文第二章b e o w u l f 集群系统与负载均衡 编程环境和应用程序 工 可用性与单一系统映象基础设施 工j 工i 工 操作系统 操作系统操作系统 节点节点节点 unu 商用或专用互联 图2 3 集群系统的结构体系 整个集群系统是一个单一的计算处理资源,在这一点上集群系统和分布式 系统有区别。集群系统是通过s s i ( s i n g l e - s y s t e mi m a g e ,单系统映像) 技术来 实现单一资源的特征。s s i 技术实现了集群的有效管理和简单使用。尽管到目 前为止,大多数的集群产品还不能提供完整的s s i 服务,但是s s i 却是集群 系统的重要特征。 每一个节点是由性能尽可能高的网络来连接,如e t h e r n e t ,f d d i 和a t m 交换网等。当使用不同的网络连接时,必须提供标准的协议来实现节点之间的 平滑通信。 集群系统可以在很多的服务领域提供更好的性能。例如一个集群系统可以 作为一个超级w e b 服务器,或者一个超级的数据库服务器。如果集群系统中的 每一个节点可以支持n 个客户,那么有m 个节点的集群系统就可以支持m * n 个客户。另外,由于集群系统采用并行处理技术,还可以缩短单个任务的执行 时间。 集群系统可以根据实际情况灵活地改变整个系统地配置,如增加或者减少 节点等。这种平滑的可伸缩性不仅表现在系统规模的可伸缩性,还表现在技术 和服务的可伸缩。 n o w ( n e t w o r ko fw o r k s t a t i o n s ,工作站网络) 构成的集群系统己经成为科 学和工程计算、企业日常事务处理、i n t e r n e t 信息处理的主要基础,近年来, 由于网络技术和工作站技术的迅猛发展,n o w 以其更好的性能价格比受到人们 的青睐,并大有取代大型机甚至巨型机的趋势口翎1 。 1 2 硕士学位论文第二章b e o w u l f 集群系统与负载均衡 2 1 3 基于l i n u x 的b e o w u l f 集群的架构 l i n u x 环境下的集群系统中比较有影响的是b e o w u l f 集群。在b e o w u l f 集 群上运行的软件是l i n u x 操作系统、并行虚处理机和消息传递接口m p i 。一般 由服务节点来控制整个集群。服务节点是集群的控制台和对外的网关。在规模 比较大的b e o w u l f 集群中可以有多个服务节点,通常,除服务节点外,b e o w u l f 集群中的其他节点都是哑成员,即它们不与外界交互。这些成员节点由服务节 点来管理,执行服务节点分配的任务。 b e o w u l f 集群中的成员节点以及内部连接是集群专用的。从这一点来看, b e o w u l f 更像是一台完整的机器,而不是一个由许多计算机组成的松散的群体。 集群下的大多数节点没有键盘、显示器等,只是通过远程登录来访问控制它们。 b e o w u l f 的节点作为内置的模块插入b e o w u l f 集群中。 b e o w u l f 集群中的节点之间的连接仅供节点问使用,使集群与外界连接的 普通网络相隔离。这些特点使得b e o w u l f 集群中各节点的负载均衡且节点之间 的信赖关系变得更容易处理,因为它们不受外界的影响。同时,节点之间的通 信也会更高效。b e o w u l f 并不是一个软件包、一种新的网络拓扑结构或者内核 技术,而是一种基于l i n u x 操作系统的机器来构建并行虚拟机的思想。尽管有 很多软件( 例如,内核的修改,p v l v i 和m p i 并行运算库或者管理工具) 可以使 b e o w u l f 体系结构更快、更容易管理和使用,但仍然可以只使用l i n u x 来建造 一个自身的b e o w u l f 集群。一个最简单的b e o w u l f 集群可以由两台互相连接并 且拥有一些信任关系( 比如n f s 和r s h 权限) 的l i n u x 计算机组成。b e o w u l fp c 集群的简易拓扑图如图2 4 所示。 接入以太网 直 屠凰凰屠凰 pr=pc调爱器 b e o w u l fp c 集群系统简易拓扑结构 b e o 州d f 系统除了强大的计算能力和优越的性价比外,还具有其它诸多优 点。首先,它依赖的都是一些成熟的、容易获得的计算机技术和设备,如普通 市售微机和以太网技术等,不存在技术上的风险。其次,构建b e o w u l f 系统所 用的软件,如i v i p i 软件、测试工具软件,可以免费从i n t e r a c t 网上下载,构建 1 3 屠 旱屠盹屠盹争 硕士学位论文 第二章b e o w u l f 集群系统与负载均衡 方法手册、帮助文件等都可以在i n t c r n c t 网上获得,这不但降低b e o w u l f 系统的 成本,也使系统的构建较为容易。第三、微机是应用最为广泛,最为广大科研 工作者熟悉的一类计算机,b e o w u l f 系统与现有软、硬件结合,允许用户在一 个熟悉的硬件和软件环境下开发,调试和运行并行程序,这为使用者带来了很 大的方便。第四、b e o w u l f 系统具有良好的可移植性,它既支持结构相同的微 机所组成的网络结构,也支持结构不同的微机组成的异构网络。同时b e o w u l f 系统具有良好的可伸缩性,允许根据需要向网络中增加和减少微机结点。这对 系统的构建、维护以及资源的充分利用都十分有利。 2 2 负载均衡的问题研究 负载均衡技术用于在多处理器、多计算机、多网络、多硬盘等资源之间分 配负荷,使得各资源不过载负载均衡是高性能集群系统中资源分配追求的主要 指标之一啪1 。在计算机集群中,计算任务或网络流量被合理地分配到各个处理 节点上并行执行,称之为负载均衡。更加准确的讲,负载应是绝对的负载量与 节点处理能力的比值。当整个系统的任务较多时,分配给各个节点的负载可能 并不均衡,整个系统的利用率就会降低。有效地将各个并行计算任务或网络流 量均匀的分布到不同的计算节点并行计算,使各个节点的利用率达到最大,这 就是研究负载均衡机制的目的啮瑚1 。 2 2 1 负载均衡的概念 负载均衡是为提高性能和克服现有设备中的缺陷而将某些负载分配到多个 链路、服务器、处理器或其他设备的过程。负载均衡不但可以有效地解决单服 务器的性能限制,而且可以实现任务的快速转移,保证服务的高可用性以及灵 活的扩展性。网络负载均衡是分布式作业调度系统的一种实现。均衡器作为网 络请求分配的控制者,要根据集群节点的当前处理能力,采用集中或分布策略对 网络服务请求进行调配,并且在每个服务请求的生命周期里监控各个节点的有 效状态。负载均衡器在集群的各个服务节点中分配工作负载或网络流量。 负载均衡的作用就像轮流值日制度,把任务分给大家来完成,以免让一个人 过度劳累。但是与轮流值日制度不同的是,它是一种动态均衡,通过一些工具实 时地分析数据包,掌握网络中的数据流量状况,把任务分配出去。对于不同的应 用环境,如电子商务网站,它的计算负荷大;再如网络数据库应用,读写频繁,服 务器的存储子系统面临很大压力;再如视频服务应用,数据传输量大,网络接口 1 4 硕士学位论文第二章b e o w u l f 集群系统与负载均衡 负担重,使用的均衡策略是不同的。所以均衡策略也就有了多种多样的形式,广 义上的负载均衡既可以设置专门的网关、负载均衡器,也可以通过一些专用软件 与协议来实现。在七层协议模型中都有相应的负载均衡策略( 算法) ,在数据链路 层上实现负载均衡的原理是根据数据包的目的地址选择不同的路径;在网络层 上可利用基于地址的分配方式将数据流疏通到多个节点;而传输层和应用层的 交换,本身便是一种基于访问流量的控制方式,能够实现负载均衡。 在高性能计算领域,某些并行集群系统可以达到如此高的带宽和低延迟, 其原因是它们通常绕过使用网络协议,如t c p i p 。虽然网际协议对于广域网很 重要,但它包含了太多的开销,而这些开销在节点相互已知的封闭网络集群中 是不必要的。其实,那些系统中有一部分可以在节点之间使用d m a ( d i r e c t m e m o r ya c c e s s ,直接内存访问) ,它类似于图形卡和其它外围设备在一台机器 中的工作方式。因此横跨集群,可以通过任何节点上的任何处理器直接访问一 种形式的分布式共享内存。它们也可以使用低开销的消息传递系统,在节点之 间进行通信。消息传递接口似m p i 是并行群集系统间消息传递层的最常见实现。 m p i 存在几种衍生版本,但在所有情况下,它为开发者访问并行应用程序提供 了一个公共a p i ,这样开发者就不必手工解决如何在群集的节点之间分发代码 段。其中b e o w u l f 系统首先将m p i 用作公共编程接口1 。 2 2 2 负载均衡的问题描述 负载均衡主要研究三大策略问题: ( 1 ) 传输策略( w h e n ) ,决定何时进行负载的执行或迁移。 ( 2 ) 定位策略( w h e r e ) ,定位什么样的目的计算节点作为负载分派的目的对 象。 ( 3 ) 选择策略( w h i c h ) ,选择哪一个负载执行或迁移。 衡量负载均衡策略的好坏有两个常用标准,即完成性能和策略本身的执行 效率。 与大多数分布式系统一样,负载均衡的研究也分为两个方向,即静态负载 均衡和动态负载均衡。 静态负载均衡是采用某种分配算法在任务执行前即确定分配到各个节点的 方案,其分配基于系统平均情况,不考虑系统瞬时状态变化,基于对负载的计 算量、通信关系和依赖关系,以及计算机集群本身的状况等先验知识或预测形 成远程执行进程表。任务投入后就不可再转移。这种方式的特
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考消防证笔试题目及答案
- 2025合作贸易合同含义 合作贸易协议书
- 新媒体艺人版权合作协议模板2025
- 水分动态监测与调控-第2篇-洞察与解读
- 生物标志物筛选应用-洞察与解读
- 2025年房地产营销活动设备合同协议
- 2025年房地产项目开发合作合同协议
- 2025年防汛应急避难场所协议
- 外交法律面试题及答案
- 汽车零部件项目可研报告
- 艺术与生活教学课件模板
- 网络意识形态课件
- 《“十五五”冷链物流发展规划》发布 2035年全面建成现代冷链物流体系
- 2025中国邮政校园招聘补录笔试历年参考题库附带答案详解
- 2025海康威视视频安全门禁系统用户手册
- 乡镇卫生院基本药物实施情况汇报
- 发动机装配工艺培训课件
- 5.1延续文化血脉 教案 -2025-2026学年统编版道德与法治九年级上册
- 二人合租厂房合同协议书
- 2025年福州国有资本投资运营集团有限公司社会公开招聘12人笔试参考题库附带答案详解(10套)
- 左房肺静脉CTA扫描技术
评论
0/150
提交评论