(计算机系统结构专业论文)高性能数据运算服务系统的研究.pdf_第1页
(计算机系统结构专业论文)高性能数据运算服务系统的研究.pdf_第2页
(计算机系统结构专业论文)高性能数据运算服务系统的研究.pdf_第3页
(计算机系统结构专业论文)高性能数据运算服务系统的研究.pdf_第4页
(计算机系统结构专业论文)高性能数据运算服务系统的研究.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

摘要 信息技术的迅猛发展,特别是互联网技术的普及应用,使得电子政务、电子 商务成为当今信息化发展最重要的领域之一。网络上的信息安全是电子政务、电 子商务健康持续发展的重要保障。高性能数据运算服务系统是p k i 体系中不可缺 少的部分,它为安全应用提供高性能、低成本的数据运算服务,成为该领域技术 研究的一个热点。本文在实际工程的基础上探讨了如何构建一个高性能数据运算 服务器一一n ,s ( l i n u xv i r t u a ls e r v e r ) 集群系统。 本文首先介绍高性能数据运算系统的分类和特点,然后介绍了集群系统的体 系结构,并讨论了构建高性能集群系统所面临的主要问题;在此基础上,深入论 述了本系统的软件设计模型,并对系统设计过程中的几个关键技术进行了详细的 讨论。在此过程中,作者在设计并实现了一种新的基于“流”模式的系统模型, 并给予了详细的分析论述。接着本文将论述该模型中的关键技术作业分配调度负 载均衡技术的实现,然后讨论了其在设备管理上的实现方法。最后,作者在对本 系统进行测试与分析,试验表明系统具有良好的性能与可扩展性,完全符合系统 设计的预期性能指标。 关键字:信息安全高性能数据运算集群流模式 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y , e s p e c i a l l yt h ew i d e s p r e a d a p p l i c a t i o no fi n t e r a c tt e c h n o l o g y , e l e c t r o n i cg o v e r n m e n ta n de l e c t r o n i cc o l n m e r c e h a v eb e c o m et h em o s ti m p o r t a n td e v e l o p m e n tf i e l do fi n f o r m a t i o nt e c h n o l o g y h i g h - p e r f o r m a n c ed a t as e r v i c es y s t e mi s a l li n d i s p e n s a b l ep a r to fp k i , w h i c hp r o v i d e s h i g h - p e r f o r m a n c e ,l o w - c o s td a t ap r o c e s s i n gs e r v i c e sf o rs a f e t ya p p l i c a t i o n ,h a sb e c o m e ah o tt o p i co fr e s e a r c hi nt h ef i e l do ft e c h n o l o g y i nt h i sp a p e r , w eh a ds i g n e da n s u p e r - s e r v e rs y s t e m ,l v sc l u s t e rs y s t e m t h ep a p e rf i r s t l yi n t r o d u c et h ea r c h i t e c t u r eo fi l i 曲一p e r f o r m a n c ed a t as e r v i c e s y s t e ma n dt h es o r to fi t , o nw h i c h ,w ed e s i g n e dt h em o d e lo fn e ws y s t e ma n d d i s c u s s e ds e v e r a lk e yi s s u e si nt h es y s t e m b a s e do nt h ea n a l y z i n go ft h ep r i o r c o m m u n i c a t i o nm o d e l ,an e wc o m m u n i c a t i o nm o d e lb a s e do ns t r e a mi sp r o m o t e di n d e t a i l t h e nt h i sp a p e rf o c u s e so i lt h ei m p l e m e n t a t i o no fl o a db a l a n c i n gs u b l a y e ra n d t h em a n a g e m e n to fe q u i p m e n t a tl a s t ,w et e s t e da n da n a l y z e dt h es y s t e m t h et e s t s s h o w e dg o o dp e r f o r m a n c ea n ds c a l a b i l i t yo fi t , w h i c hs u c c e s s f u l l ys a t i s f i e dt h e p r o s p e c t i v ep e r f o r m a n c eg u i d e l i n eo f t h es y s t e m k e y w o r d :i n f o r m a t i o ns e c u r i t y h i g h - p e r f o r m a n c ed a t ap r o c e s s c l u s t e rs t r e a mm o d e l 创新性声明 本人声明所里交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包 含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 筋g 勉 日期 21 :垒 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业 离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学校 有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部 分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文在解密 后遵守此规定) 本学位论文属于机密,在一年解密后适用本授权书。 本人签名: 盈勉日期! ! ! :! 导师签名: 第一章绪论 第一章绪论 1 1 背景 随着计算机、通信以及互联网技术的飞速发展,社会经济的信息化进程正在 逐渐加快,人们对高效的信息处理速度的需求也越来越高,越来越多的应用领域 需要高性能计算,如科学与工程计算、网络服务、数字图书馆和视频媒体系统等 等。这些系统中,不仅要求计算机具有很强的计算能力,而且要求系统具有很好 的可伸缩性、可管理性,以及经济可行性。 想要满足上述要求,简单的通过提高单个硬件性能并不是一个行之有效的途 径,因为单台服务器的性能总是有极限的,而对称多处理s m p 结构的计算机,在 性能上会受到c p u 数量、主存和总线带宽的制约,可扩展性好的大规模并行处理 机m p p 则存在使用困难、支撑软件少、应用领域窄等问题。于是应运而生了一些 高性能的数据运算系统,这其中包括大型机、小型机、网格和集群等。 网格计算机是集成分布式系统部件( 例如:计算机系统、存储器等等) 的硬 件和软件系统,使用户把它们看成是单个大型“虚拟化”计算系统。“单个系统”的 基本概念会应用于建设集中化“集群”计算机( 由配置好的计算机和存储器组成的 多处理器系统) ,和地理位置分散的计算机、仪器和其他资源组成的联网网格。通 过网格计算。计算机系统和其他资源不一定被限制于专用与个人用户或应用。而 使用互联网、基于网格的资源共享和协作问题解决能延伸至多机构的“虚拟单位”。 集群( c l u s t e r ) 是由普通p c 服务器或工作站通过高速网络连接而成,结合了工 作站集群( c o w ) 系统、m p p 技术及s m p 技术的特点,充分利用了网络及单机性 能优势,成为高性能计算机体系结构的发展趋势。作为新兴的并行计算机的一种, 集群系统还具有性能价格比高、可扩展性好等特点。集群系统实现的目的就是让 系统中的各个节点协同工作,从而提供更高的性能。在目前的集群解决方案中, 已经能够从性能、可用性、并行处理、并行网络服务的多方面实现多节点间的协 同工作,因此,集群技术成为了高性能计算领域令人瞩目的焦点。 在我国的信息安全领域,原本由于其普及性和应用性不高,而对性能方面的 要求也不高,然而近年来随着国家大力推进国内信息安全基础设施( n a t i o n a l i n f o r m a t i o ns e c u r i t yi n f r a s t r u c t u r e ,n i s i ) 的建设,安全业务也迅速增多,如电子 政务、电子商务、公开密钥基础设施( p u b l i ck e yi n f r a s t r u c t u r e ,p k l ) 和授权管理 基础设施( p r i v i l e g em a n a g e m e n ti n f r a s t r u c t u r e ,p m i ) 等,从而使得对其性能的需 求也越来越高。有鉴于此,国家信息安全工程技术研究中心在兼顾市场和实际工 程项目需求的前提下,着手开发某高性能数据运算服务系统,以解决目前的硬件 设备在信息处理方面的速率瓶颈问题。如何在现有的软硬件资源的基础上开发高 2高性能数据运算服务系统的研究 性能的运算服务系统,成为本课题研究和开发的主要任务。对比大型机、小型机、 网格和集群,我们从高性能和低成本两个方面入手,最终研发出基于l i n u x 集群 系统的高性能数据运算服务系统,它主要包括客户端、服务器端和运算模块三大 部分。本文在对其深入讨论的基础上,对系统的部分核心功能进行了分析和设计, 并对系统的架构以及具体的实现方法进行了详细的论述,对以前的版本做了大量 的修改和完善,构建了一个新式的高性能数据运算服务系统。在本文的最后,对 此系统的性能和可用性进行了全面的测试和评估。 1 2 论文工作 本文主要的研究方向是独立研发出一个专用的高性能数据运算服务系统,本 系统以p k i 安全体系架构为基础,结合实际的需要,如大规模的数据运算等功能, 在l i n u x 系统和l i n u x 虚拟服务器( l i n u xv i r t u a ls e r v e r , l v s ) 的基础之上,实现 了高性能的数据运算等服务。 本文作者的任务是在了解l i n u x 集群系统和数据通信理论的基础上,设计并 实现一个高性能数据运算服务系统。作者对整个方案的总体架构进行分析和设计, 透彻的理解了以前的服务系统,深入研究了进程间通信和网络通信中的影响性能 的因素,并在实际的项目需求之上,对其做了大量的修改和完善,重新构建了一 个性能更高的运算系统,从而很好的解决了系统运算性能和通信瓶颈等问题。具 体工作内容主要包括: 认真学习了网络通信和进程间通信方面的知识,设计并验证了构建高性能 系统中的几个关键技术,包括基于t c p m 的高性能网络通讯模型的设计与实现、 系统动态配置的实现、线程间数据交换与通讯方式的选择、调度算法性能的测试 等; 阅读了l i n u x 内核相关资料,大数据量的处理在l i n u x 核心态下进行,减 少了数据包在核心态与用户态之间的重复传递,并提高了相应的优先级,从而使 得数据处理模块可以更高速的运行; 基于以前的版本,将客户端模型由原来的阻塞模式改为双线程模式,大大 提升了客户端与服务器端之间的通信速度: 完成了该模型中的管理子层的分析、详细设计和实现,包括负载均衡服务 系统、差错处理服务系统和数据发送接收服务系统; 本人在论文撰写过程中主要的创新点是: 系统地研究和完善了系统中软件的设计层次与通讯模型的架构问题,改变 了原有底层通信和数据处理模式,使得系统性能得到极大的提高; 提出了新式系统架构模型和相关的负载均衡算法: 成功研发了数据运算服务系统中的负载均衡系统,实现了系统骨干软件的 设计。 第一章绪论3 1 3 论文结构 本文主要针对在系统的结构设计和软件的设计中所遇到的具体问题展开了深 入的讨论。 第一章,绪论。介绍了课题的研究背景、论文的主要工作和论文的创新点。 最后对论文的内容组织进行了简要的介绍。 第二章,高性能数据运算概述。在本章中首先介绍了高性能数据运算的分类。 探讨并分析了几种高性能数据运算系统,为实现一个新的运算系统的体系架构做 理论基础。 第三章,系统早期版本。在本章中,对系统设计所依赖的集群架构做了分析, 并对早期系统的整体架构做了详细的介绍,以及“应,答”模式和“流”模式的系 统服务模型,讨论了其弊端,并在新系统中做出相应的修改和优化。 第四章,新式高性能数据运算服务系统。在本章首先对早期版本中的通信协 议,如t c p i p 协议详细的讨论,并分析了协议在应用中的不足之处。然后阐述了 对整个系统所做的修改,并实现了一个全新的运算系统。分析了常用的负载平衡 技术,并针对系统的特点提出了具体实现方法。最后,本章对系统的动态可伸缩 配置进行了简单的探讨,给出了几个具体应用的配置流程。 第五章,系统的性能测试。给出了系统的性能数据及分析。从系统的整体运 算性能、系统的可扩展性和高可用性方面综合评价了系统的性能指标。 第六章,结论。在本章中对系统进行了一个简单的回顾,并探讨了下一步工 作的研究内容和研究方向。 第二章高性能数据运算概述 5 第二章高性能数据运算概述 在过去的二十年中,高性能计算发展相当迅速,而且后续发展势头依然强劲。 由于应用需求的剧增、领域的扩大,特别是在气象领域、统计预测领域、大数据 计算领域发展尤为迅速。其中数据处理是技术核心。高性能计算的日益成熟与数 据处理的巨大需求,直接推动了高性能数据运算系统的发展。主要技术包括:大 型机、小型机、网格计算系统和集群系统等。 2 1 1 大型机 2 1 大型机、小型机 大型机( m 枷r a m 0 这个词,最初是指装在非常大的带框铁盒子里的大型计算 机系统,以用来同小一些的迷你机和微型机有所区别。虽然这个词已经通过不同 方式被使用了很多年,大多数时候它却是指s y s t e m 3 6 0 开始的一系列的m m 计 算机。这个词也可以用来指由其他厂商,如a m d a h l ,h i t a c h id a t as y s t e m s ( i - i d s ) 制造的兼容的系统。大型计算机一般用于大型事务处理系统,特别是过去完成的 且不值得重新编写的数据库应用系统方面,其应用软件通常是硬件本身成本的好 几倍,因此大型机仍有一定地位。 大型机系统的主要特点是:r a s ,i 0 处理能力以及i s a 。【驯 1 ) r a s r a s ( r e l i a b i l i t y ,a v a i l a b i l i t y ,s e r v i c e a b i l i t y 高可靠性、高可用性、高服务 性) 是一个i b m 常用来描绘它的大型机的词。最近3 0 多年来,i b m 致力于使每一 个新系列的系统比前一代更加可靠。这就导致了今天的系统变得如此可靠,以至 于几乎没听说过有任何因为硬件问题导致的系统灾难。这些大型机系统内集成了 相当高程度的冗余和错误检查( 技术) ,这样就能防止系统发生灾难性的问题。每 个c p ud i e 装有2 个完全的执行管道( e x e c u t i o np i p e l i n e s ) 来同时执行每一条指令。 如果这两条管道得出的结果不相同,c p u 的状态就会复原,然后这条指令被重新 执行。如果重新执行后结果还是不一致,最初的c p u 状态就被记录下来,然后一 个空闲的c p u 被激活并装入存储的状态数据。这颗c p u 继续做最初那颗c p u 的 工作。记忆芯片、内存总线、f o 通道、电源等等,都要么有冗余的设计,或者 有相应的备用品并可以随时投入使用。这些( 设备的) 小错误可能会导致性能的一 些小损失,但他们决不会导致系统中任何任务的失败。 当很罕见地错误出现的时候,高服务性就用得上了。许多组件都可以在系统 运行的同时被更换( 热插拔) ;甚至微码( m i c r o c o d e ) 的升级也可以在系统运行的同时 6高性能数据运算服务系统的研究 进行。对于那些不能被同时更换的部件,如c p u ,备用品的存在就保证了能够客 户方便的时候安排系统停机。 除了系统设计中的固有可靠性,i b m 也创立了一个紧密联结的集群技术,叫 做p a r a l l e ls y s p l e x ,这项技术支持由最多3 2 个系统作为一个系统镜像运行。在一 个合理部署的p a r a l l e ls y s p l e x 系统上,即使一个独立系统遭受了毁灭性损失,整 个系统也不会受太大影响,而且不会导致任何工作的损失。任何在那台遭受损失 的系统的上进行的工作,都可以自动地在剩下的系统上重新开始。另一个p a r a l l e l s y s p l e x 的优势是一台( 或多台) 系统可以从整个系统中移出以进行硬件或软件的维 护工作( 例如在非工作时间) ,而其余的单独系统可以继续处理工作。当维护工作 完成后,系统又回归加入s y s p l e x 系统中继续工作。充分利用这一特点就可以升 级整个s y s p l e x 系统软件( 一次一个单独的系统) ,而不会导致任何应用程序的暂停 使用。 正因为拥有所有这些功能,真正1 0 0 的系统可用性是非常实用的,并且已经 在许多地方开始实施。 i o 吞吐量0 ot h r o u g h p u 0 这些通道实际上就是阳处理器,他们执行通道程序。这些程序包含了成串 的i o 指令,其中就包含有最原始的分流功能。这些通道极大地降低了c p u 在i 0 操作中的工作量,使得c p u 可以更加高效地工作。每一个通道都能同时处理许多 i o 操作和控制上千个设备。 在3 6 0 和3 7 0 系列构架上,操作系统会创建一个通道程序并在一个已连接到 所需设备的通道上执行这个程序。如果这个通道或控制单元十分忙碌,起始y o 指令就会失败,然后操作系统就会尝试在另一个已连接到不同控制单元的通道上 重新开始通道程序。如果所有的道路都是繁忙的,操作系统就会把这个请求列入 队列留在以后再试。x a 系列里面出现的一个显著的改进就是创立了通道子系统 的概念,这个子系统可以协调并安排系统里所有通道的活动。现在操作系统只需 要创立通道程序,然后把程序转交给通道子系统,通道子系统就会处理所有的通 道艘制单元以及队列问题。这样就使大型机具有了更加强大的吞吐量并使 c p u 能更有效地工作,因为只有在所有的加操作都完成的时候才需要c p u 的介 入。 3 ) t h ei s a ( i b ms y s t e ma r c h i t e c t u r e ) 这些年虽然毋m 大型机的整体指令集有了显著改进,m m 保持了惊人的对应 用程序的向后兼容。许多最为显著的构架上的变化已经影响了一些只能直接被操 作系统调用,而不能被应用程序调用的设备( 如y o 子系统) 。i b m 已经花费了巨 大的努力来保证它的客户们不必重写或重编译他们的程序来在新系统上运行。这 样,客户要采用新的硬件就更为容易,客户只需要拔下旧系统,换上新系统,而 不需要做额外的软件测试工作。对于只有拥有一台大型机的公司来说,只需要花 几个小时就可以对旧系统进行升级,而不需要在投入正式使用前对新系统进行测 第二章高性能数据运算概述 7 试。这特别适合那些在升级前后使用同一种操作系统的客户,他们只需要将操作 系统升级到所需要的版本就行了。 2 1 2 小型机 小型机是指运行原理类似于p c ( 个人电脑) 和服务器,但性能及用途又与它 们截然不同的一种高性能计算机,它是7 0 年代由d c e ( 数字设备公司) 公司首 先开发的一种高性能计算产品。 小型机具有区别于p c 及其服务器的特有体系结构,还有各制造厂自己的专利 技术,有的还采用小型机专用处理器,比如美国s u n 、日本f u j i t s u ( 富士通) 等 公司的小型机是基于s p a r c 处理器架构,而美国h p 公司的则是基于p a r i s c 架构;c o m p a q 公司是a l p h a 架构。另外f o 总线也不相同,f u j i t s u 是p c i ,s u n 是 s b u s ,等等。这就意味着各公司小型机机器上的插卡,如网卡、显示卡、s c s i 卡等 可能也是专用的。此外,小型机使用的操作系统一般是基于u n i x 的,像s u n 、f u j i t s u 是用s u ns o l a r i s ,h p 是用h p u n i x ,m m 是a i x 。所以小型机是封闭专用的计算 机系统。小型机仅仅是低价格、小规模的大型计算机,使用小型机的用户一般是 看中u n i x 操作系统的安全性、可靠性和专用服务器的高速运算能力。i 2 卅 2 2 1 概述 2 2 网格计算 网格对于高性能计算系统而言是相对较新的内容,它有自己的历史,并在不 同的环境中有它自己的应用。网格计算系统的关键元素是网格中的各个节点,它 们不是专门的专用组件。在网格中,各种系统常常基于标准机器或操作系统,而 不是基于大多数并行计算解决方案中使用的严格受控制的环境。位于这种标准环 境顶部的是应用软件,它们支持网格功能。网格可能由一系列同样的专用硬件、 多种具有相同基础架构的机器或者由多个平台和环境组成的完全异构的环境组 成。专用计算资源在网格中并不是必需的。许多网格是通过重用现有基础设施组 件产生新的统一计算资源来创建的。不需要任何特别的要求就可以扩展网格,使 进一步地使用节点变得比在典型高性能计算( h p c ) 环境中还要轻松。有了h p c 解决方案,就可以设计和部署基于固定节点数的系统。扩展该结构需要小心规划。 而扩展网格则不用考虑那么多,节点数会根据您的需要或根据可用资源动态地增 加和减少。 尽管有了拓扑和硬件,网格就可以以总线拓扑和网状拓扑的结构为基础,但 使用标准网络连接组件支持网格也是有可能的。我们甚至可以交叉常规网络边界, 在w a n 或互联网上合并计算资源,如图2 1 所示。 8 高性能数据运算服务系统的研究 因咎堕上 : 由白 广域网 囱 圆 圆 图2 1 网格网络架构 作为执行模型和环境,瞬格还被设计成在操作和执行方面更具灵活性。尽管 可以使用网格解决诸如h p c 解决方案之类的计算任务,但网格可能更灵活,可 以使用各种节点执行不同的计算、表达式和操作。网格并不只是一种没有任何特 点的计算资源,可将它分布到各种节点中使用,并且一直运行到作业和操作都已 完成。这使得网格在不同计算和组件的执行顺序对于剩余任务的连续执行不那么 重要的地方变得更 加实用。利用这种可变长度灵活性和较孤立任务的网格解决方案的个好例 子是计算机合成电影和特技效果中的表演。在这里,生成的顺序并不重要。单帧 或更大的多秒的片段可以彼此单独呈现。尽管最终目标是让电影以正确的顺序播 放,但最后五分钟是否在最初的五分钟之前完成是无关紧要的;稍后可以用正确 的顺序将它们衔接在一起。 网格与传统h p c 解决方案之阃的其他主要不同是:h p c 解决方案设计用于 提供特定资源解决方案,比如强大的计算能力以及在内存中保存大量数据以便处 理它们的能力。另一方面,网格是一种分布式计算资源,这意味着网格可以根据 您的需要共享任何组件,包括内存、c p u 、电源,甚至是磁盘空间。【纠 2 2 2 网格编程 网格的分布式( 常常是非专用的) 结构需要为工作的执行准备一个不同的模 型。因为网格的这种特性,无法期望同时执行各种工作单元。有许多因素影响了 工作的执行时间,其中包括工作分配时间以及每个网格节点的资源的有效功率。 因为各个节点中存在的不同之处和工作被处理的方式,网格使用了一个将网格节 点的监视与工作单元的排队系统相结合的系统。该监视支持网格管理器确定各个 第二章高性能数据运算概述9 节点上的当前负载。然后在分配工作时使用该信息,把要分配的工作单元分配给 没有( 或有少量) 当前资源负载的节点。所以,整个网格系统基于一系列的队列 和分布,通过在节点之间共享负载,在节点变得可用时将工作分配给队列中的每 个节点,使网格作为一个整体得到更有效的使用。响应和结果都同样地在网格控 制器上迸行排队,以便在处理完所有工作单元( 及其结果) 时将它们收集到应用 程序的最终结果集中。图2 2 中显示了这样一个示例。 图2 2 网格功能图 网格模型允许使用各种级别的资源、工作单元规模和分配级别。大多数网格 支持使用每个将被排队和分配的应用程序的各种工作单元同时执行多个工作请 求。例如,可以在一些节点仍然在完成j o b l 上的工作时开始j o b 2 上的工作,为 了完成工作,两项作业以某种动态的方式使用相同数量的可用节点。此过程的灵 活特性不但允许以更动态更适应的方式执行工作,还允许网格与各种硬件和平台 一起使用。即使网格中的某些节点比其他一些节点更快或更慢一些,也不再有任 何关系;它们可以在自己( 比较) 空闲的时间完成工作,并且结果将被排队。其 间,更快的系统可能被分配更多的工作并完成更多的工作单元。出现这种不利现 象是因为需要更繁重的管理费用来观察和监视各个节点,以便能够在节点问有效 分配工作。 1 0 高性能数据运算服务系统的研究 2 3 1 概述 2 3 集群系统 集群系统( c l u s t e r ) 是利用高性能通信网络将一组计算机( 节点) ,按照某种结 构连接起来,并在并行程序设计及可视化人机交互集成开发环境支持下,统一调 度,协调处理,实现高效并行处理的系统。一般的,每个计算机节点是一台高性 能工作站或高档p c 服务器。除了满足由交互用户单独使用每个节点的任务外,所 有的集群节点必须能够一起工作,如果一个单一的集成的计算资源。集群中每一 个节点是一台完整的计算机,它有自己的c p u 、高速缓存、磁盘以及i 0 适配器, 并具有一个完整标准的操作系统。c l u m p s ( c l u s t e r so fm u l t i p r o c e s s o r s ) 采用单一映 象( s i n g l es y s t e mi m a g e ,s s i ) 技术实现单一集成计算资源的概念,使得c l u m p s 更易于使用和管理。节点问连接可以采用商品化的网络( 如以太网等) 或其它高 速网络( 如m y r i n e t 等) 。 c l u m p s 是近二十年来高性能计算机体系结构发展的一个潮流。不论是超级 计算机、大型机,还是个人微机系统,其体系结构的发展都逐渐汇集到c l u m p s 结构。如图2 3 所示。在初始阶段,不同体系结构的系统按其各自的发展趋势向 多处理器结构发展。大型机逐渐发展为基于对称多处理( s m bs y m m e t r y m u l t i p r o c e s s o r s ) 的服务器;向量机逐渐发展为大规模并行处理( m p bm a s s i v e l y p a r a l l e lp r o c e s s o r ) 结构,进而发展为一致性高速缓存非均匀存储访问模型 ( c c n u m a , n u m a :n o n u n i f o r m m e m o f ) r a c c e s s ) 结构的服务器和超级计算机; 微机也向多处理器协同工作( 处理器池) 的方向发展,逐渐演变为工作站网络 ( n o w ) 结构。随着处理器的性能的不断提高,系统的整体性能也随之提高。 服务嚣,大型主机向量机 大规模并行处理 对称多处理 徽处理器 j t 微处理器池 徽处理罂集群 图2 3 计算机体系结构的发展集中于微处理器集群 第二章高性能数据运算概述 之后,器件的发展不能满足系统性能提高的需求,大规模的处理器池或处理 器阵列的扩展性和效率也制约着其性能的提高。因此,n o w 、s m p 服务器和 c c n u m a 系统逐渐汇集到c l u m p s 结构。c l u m p s 优于s m p 服务器和 c c n u m a 结构之处在于s m p 服务器与c c - n u m a 结构的单一系统结构能够高 效的支持应用,但是同时也会出现单一故障点的问题。虽然一些机器提供了系统 分区( p a r t i t i o n ) 的功能,但是c a c h e 一致性的共享内存使得系统中的故障会影响 整个系统的运行。而c l u m p s 能够很好的解决这一问题。c u j m p s 能够以较低 的价格提供一个较优的性能和较好的容错能力。 与向量机、对称多处理机( s m p ) 等传统的并行处理系统相比,集群系统具 有如下的主要的优点: 高可扩展性:对集群的研究起源于集群系统的良好的性能可扩展性。提高 c p u 主频和总线带宽是最初提供计算机性能的主要手段。但是这一手段对于系统 图2 4 几种计算机性能的可扩展性 性能的提供是有限的。接着人们通过增加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 4 所示。 高可用性:集群系统中的一个节点失效,它的任务可以传递给其他节点。 可以有效的防止单点失效 高性能:负载平衡集群允许系统同时接入更多的用户。 高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。 设计一个负载平衡的集群系统需要考虑的性能因素,包括平均响应时间、开 销、吞吐率、负载平衡的稳定性。 1 2 高性能数据运算服务系统的研究 2 3 2 分类 对于集群系统的分类各个研究组织有不同的分类方法,可以分为按结点的耦合 方式分,可分为紧耦合集群和松耦合集群:按控制方式分,可分为集中式集群和非 集中式集群;按同构性分,可分为同构集群和异构集群;按安全性分,可分为开放式 集群和封闭式集群。在这里主要是根据集群在其功能上分为常见的三类:高可用 性集群( h i g ha v a i l a b i l i t yc l u m p s ) ,负载均衡集群( l o a db a l a n c ec l u m p s ) ,高性 能集群( h i g hp e r f o r m a n c ec o m p u t i n gc l u m p s ) 。 1 高可用性集群 计算机系统的可用性( a v a i l a b i l i t y ) 是通过系统的可靠性( r e l i a b i l i t y ) 和可维 护性( m a i n t a i n a b i l i t y ) 来度量的。工程上通常用平均无故障时间( m t i f ) 来度 量系统的可靠性,用平均维修时间( m t i r ) 来度量系统的可维护性。因此,可 用性被定义为公式( 2 1 ) : 旦1 0 0 ( 2 1 ) 肘1 l 予。+ 肘2 l r 业界根据可用性把计算机系统分为如下几类: 表2 1 计算机系统可用性分类 可用比例年停机时间可用性分类 9 9 5 3 7 天常规系统( c o n v e n t i o n a l l 9 9 9 8 8 小时 可用系统( a v a i l a b l e ) 9 9 9 9 5 2 6 分钟 高可用系统( h i g h l ya v a i l a b l e ) 9 9 9 9 9 5 3 分钟 f a u l tr e s i l i e n t 9 9 9 9 9 9 3 2 秒 f a u l tt c l l e r a n t 对于关键业务,停机通常是灾难性的。因为停机带来的损失也是巨大的。随 着企业越来越依赖于信息技术,由于系统停机而带来的损失也越拉越大。 高可用性集群就是采用集群技术来实现计算机系统的高可用性。 2 负载均衡集群 负载均衡集群的目的是尽可能使系统负载在集群各结点上平均地分摊处理。 负载均衡是一种特殊的高可用性功能,它既提供了高可用性集群的结点监测、恢 复功能,还能将服务请求均衡分布到各结点,这可提高服务的响应和减轻服务器 的负载。 一般情况下,负载均衡集群中的每个结点都是运行单独软件的独立系统。结 点之间通过中央负载均衡服务器或直接通信来检查每个结点的当前负载,并确定 哪些结点可以接受新的作业,使用特定的算法在结点之间分发和处理负载。 这样的系统非常适合于运行同一组应用程序的大量用户。每个结点都可以处 理一部分负载,并且可以在结点之间动态分配负载实现平衡。 最有名的负载均衡集群项目是l v s 。它可以将用户请求均衡地分发给各服务 第二章高性能数据运算概述1 3 器,任何基于t c p 或u d p 协议的服务都适用。以下将会论述系统的管理核心也 是一个负载均衡系统。 3 高性能计算集群 高性能计算( h i g hp e r f o r m a n c ec o m p u t i n g ) 是计算机科学的一个分支,它致 力于开发超级计算机,研究并行算法和开发相关软件。高性能计算主要研究如下 两类问题: 大规模科学问题,如天气预报、地形分析和生物制药等 存储和处理海量数据,象数据挖掘、图像处理和基因测序等 从并行任务间的关系的角度,高性能计算可以分为高吞吐计算( h i 曲 t h r o u g h p u tc o m p u t i n g ) 和分布计算( d i s t r i b u t e dc o m p u t i n g ) 两类。 高吞吐计算的典型代表是所谓的i n t e r n e t 计算,它所处理的信息可以被分成若 干个并行的子任务,各个子任务之间没有什么关联,各个子任务可以分给i n t e r a c t 上的各个计算节点,之后各节点将计算结果发给服务器。按照f l y n n 的分类,高 吞吐计算属于s i m d ( s i n g l ei n s t r u c t i o n m u l t i p l ed a t a ) 的范畴。 分布式计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务, 但是子任务之间的联系很紧密,需要大量的数据交换。按照f l y n n 的分类,分布 式的高性能计算属于m i m d ( m u l t i p l ei n s t r u c t i o n m u l t i p l ed a t a ) 的范畴。1 9 j 2 4 各种高性能系统的比较 由于小型机的到来,新型大型机的销售已经明显放慢。在电子商务系统中, 如果数据库服务器或电子商务服务器需要高性能、高i 0 处理能力,可以采用大 型机。在使用大量中心化处理的组织中,它们仍有重要的地位,但它的成本过高, 并不适合于我们的系统。对于小型机本身而言,它在通用性方面达不到我们的要 求。鉴于上述的原因,我们不使用大型机和小型机做为我们开发系统的模型。 下面我们对集群和网格做一些比较: 集群计算实际上不能真正地被看作是一种分布式计算解决方案。不过对于理 解网格计算与集群计算之间的关系是很有用的。通常,人们都会混淆网格计算与 基于集群的计算这两个概念,但实际上这两个概念之间有一些重要的区别。 1 ) 集群计算主要关注的是计算资源;网格计算则对存储、网络和计算资源进 行了集成。集群通常包含同种处理器和操作系统;网格则可以包含不同供应商提 供的运行不同操作系统的机器。( i b m 、p l a t f o r mc o m p u t i n g 、d a t a s y n a p s e 和 u n i t e dd e v i c e s 提供的网格工作负载管理软件都可以将工作负载分发到类型和配 置不同的多种机器上。) 2 ) 集群包含的处理器和资源的数量通常都是静态的;而在网格上,资源则可 以动态出现。资源可以根据需要添加到网格中,或从网格中删除。 3 ) 集群物理上都包含在一个位置的相同地方;网格可以分布在任何地方。集 1 4高性能数据运算服务系统的研究 群互连技术可以产生非常低的网络延时,如果集群距离很远,这可能会导致产生 很多问题。 4 ) 网格提供了增强的可扩展性。物理临近和网络延时限制了集群地域分布的 能力;由于这些动态特性,网格可以提供很好的高可扩展性。【纠 集群和网格计算是相互补充的。很多网格都在自己管理的资源中采用了集群。 实际上,网格用户可能并不清楚他的工作负载是在一个远程的集群上执行的。尽 管网格与集群之间存在很多区别,但是这些区别使它们构成了一个非常重要的关 系,因为集群在网格中总有一席之地特定的问题通常都需要一些紧耦合的 处理器来解决。 我们所要实现的数据运算服务系统,要求高性能、低成本,而且对于安全性 要求较高,数据处理也多采用本地方式。比较上面所列举的网格计算与集群系统, 从多个方面考虑,我们最终选定了在l i n u x 环境下基于集群系统进行开发和设计。 这样做的好处是,可以最大程序的降低系统成本,并在现有的环境下,尽可能的 提高系统的通信和数据处理性能,以及安全性能,使得系统在使用和生产的过程 中,实现最高的性价比。 第三章系统早期版本1 5 第三章系统早期版本 在前一章中,我们通过对多种高性能运算系统的比较,并考虑高性价比的原 则,最终选择了集群系统作为开发模型。在本章中将介绍早期版本的基于l v s 集 群系统的高性能数据运算服务系统设计模型。文章首先介绍了l v s 集群模型,接 着介绍系统的软件架构,并讨论了传统的客户一服务器通信系统的结构模型。然 后,在对传统的服务器中通信模型和早期数据运算服务系统模型进行讨论的基础 上,分析其优缺点所在,提出了一种新式的通讯模型,一方面实现了整体的“流 模式”通信模型,另一方面,改进了较早的版本中管理机与运算模块之间基于 t c p i p 的通信方式,并将其作为系统软件设计的全新模型。 3 1 设计参考模型 l i n u x 虚拟服务器( l i n u xv i r t u a ls e r v e r , l v s ) 建筑于实际的服务器集群之上, 用户看不到提供服务的多台实际服务器,而只能看见一台作为负载平衡器的服务 器。实际的服务器通过高速局域网或地理上分散的广域网连接。实际服务器的前 负载均衡器 服务器集群存储 图3 1l i n u x 虚拟服务器结构 端是一台负载平衡器,它将用户的请求调度到实际服务器上完成,这样看起来好 1 6 高性能数据运算服务系统的研究 像所有服务都是通过虚拟服务器来完成的。l i n u x 虚拟服务器能够提供良好的可 升级性、可靠性和可用性。用户可以透明地增加或减少一个节点,可以对实际服 务器进行监测,如果发现有节点失败就重新配置系统。l i n u x 虚拟服务器结构如 图3 1 所示。 l v s 集群采用i p 负载均衡技术和基于内容请求分发技术。调度器具有很好的 吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器 的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务 器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。 一般来说,l v s 集群采用三层结构,主要组成部分为: 负载调度器( 1 0 a db a l a n c e d ,它是整个集群对外面的前端机,负责将客户 的请求发送到一组服务器上执行,而客户认为服务是来自一个口地址( 我们可称 之为虚拟m 地址) 上的。 服务器池( s r v c r p 0 0 1 ) ,是一组真正执行客户请求的服务器,执行的服务 有w e b 、m a i l 、f r p 和d n s 等。 共享存储( s h a r e ds t o r a g e ) ,它为服务器池提供一个共享的存储区,这样很 容易使得服务器池拥有相同的内容,提供相同的服务。 调度器是服务器集群系统的唯一入口点( s i n g l ee n t r yp o i n t ) ,它可以采用m 负载均衡技术、基于内容请求分发技术或者两者相结合。在口负载均衡技术中, 需要服务器池拥有相同的内容提供相同的服务。当客户请求到达时,调度器只根 据服务器负载情况和设定的调度算法从服务器池中选出一个服务器,将该请求转 发到选出的服务器,并记录这个调度:当这个请求的其他报文到达,也会被转发 到前面选出的服务器。在基于内容请求分发技术中,服务器可以提供不同的服务, 当客户请求到达时,调度器可根据请求的内容选择服务器执行请求。因为所有的 操作都是在l i n u x 操作系统核心空间中将完成的,它的调度开销很小,所以它具 有很高的吞吐率。 服务器池的节点数目是可变的。当整个系统收到的负载超过目前所有节点的 处理能力时,可以在服务器池中增加服务器来满足不断增长的请求负载。对大多 数网络服务来说,请求间不存在很强的相关性,请求可以在不同的节点上并行执 行,所以整个系统的性能基本上可以随着服务器池的节点数目增加而线性增长。 共享存储通常是数据库、网络文件系统或者分布式文件系统。服务器节点需 要动态更新的数据一般存储在数据库系统中,同时数据库会保证并发访问时数据 的一致性。静态的数据可以存储在网络文件系统( 如n 】珞c i f s ) 中,但网络文件 系统的伸缩能力有限,一般来说,n f s c i f s 服务器只能支持3 - 6 个繁忙的服务

温馨提示

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

评论

0/150

提交评论