(计算机应用技术专业论文)广域网协议在hpc集群上的应用分析.pdf_第1页
(计算机应用技术专业论文)广域网协议在hpc集群上的应用分析.pdf_第2页
(计算机应用技术专业论文)广域网协议在hpc集群上的应用分析.pdf_第3页
(计算机应用技术专业论文)广域网协议在hpc集群上的应用分析.pdf_第4页
(计算机应用技术专业论文)广域网协议在hpc集群上的应用分析.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)广域网协议在hpc集群上的应用分析.pdf.pdf 免费下载

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

文档简介

摘要 随着网络技术的快速发展,集群系统( 尤其是p c 集群系统) 目前已被许 多普通用户所使用。但是由于受到网络带宽的限制,使得集群中各处理器间的 进程通信速度问题成为制约并行系统效率的主要瓶颈。因此,普及和发展集群 技术的关键问题之一,是如何提高系统网络通信的性能。鉴于绝大多数p c 集 群系统都使用t c p i p 协议的情况,本文着重分析了广域网协议在p c 集群系统 中的应用,并针对它存在的问题,结合m e i ( m e s s a g ep a s s i n gi n t e r f a c e ) 的通 信机制,提出了改进h p c 集群的网络性能的方法。 现在p c 机的性能不断提高,价格不断下降,很好的性能价格比使很多单 位普遍使用p c 集群。l i n u x 是u n i x 在p c 机上的实现,它是一种开放源代码的 分时操作系统。l i n u x 提供的强大的网络功能,也使它成为了p c 集群系统的主 流操作系统。m p i 作为当前主流的并行编程工具之一,日益受到广大用户的青 睐,它主要是通过借助操作系统提供的s o c k e t 机制来实现具体的通信功能。 m p i 消息传递方式是被广泛应用并行机的一种模式,特别适用于那些分布 存储的并行机。十多年来,这种模式在重要的计算应用中己取得了实质进步。 m e i 标准己定义了与c 语言、c + + 和f o r t r a n 的绑定。m e i c h 是m e i 的一种稳 定的实现,它可以建立与c 语言、c + + 、f o r t r a n7 7 、f o r t r a n9 0 、j a v a 的连接。 本文着重分析了作为分布式进程阋的通信手段的s o c k e t 通信机制在l i n u x 中的实现。分析了广域网络协议在集群系统的具体应用,并找出i m p 协议不 适用于集群系统的地方,进一步讨论了m p i 通信机制的实现。并提出改进网络 性能的方法。并且在1 0 0 m 的以太网下设计了基于l i n u x 操作系统的p c 集群的 快速通信协议,来提高集群系统的通信性能。 关键字:集群系统h p cm p i 快速通信协议 i i a b s t r a c t a b s t r a c t w i t ht h e r a p i d d e v e l o p m e n t o fn e t w o r kt e c h n o l o g i e s ,c l u s t e r c o m p u t i n g s y s t e m ,e s p e c i a l l yt h ec h e a p e rp cc l u s t e rc o m p u t i n gs y s t e m ,i sb e c o m i n go n eo ft h el e a d i n g t e c h n i q u ei nh i g h - p e r f o r m a n c ec o m p u t e ra n dp a r a l l e lp r o c e s s i n g h o w e v e r , b e c a u s eo ft h e r e s t r i c t i o n so ft h en e t w o r kb a n d w i d t h , t h ec o m m u n i c a t i o ns p e e db e t w e e np r o c e s s e sa m o n gt h e p r o c e s s o r sh a sb e c o m et h eh n e c ko ft h ep a r a l l e lc o m p u t a t i o ns y s t e m s t h m t h ek e yt o d e v e l o p t h ec l u s t e r c o m p u t i n gs y s t e m i st o i m p r o v e t h e c o m m u n i c a t i o n p e r f o r m a n c e c u n e n t l y , m o s tc l u s t e rc o m p u t i n gs y s t e m su s et c p 1 p 8 8t h ec o m m u n i c a t i o n p r o t o c 0 1 t h i sa r t i c l es t u d i e dt h eu o ft c p i pi n c l u s t e rc o m p u t i n gs y s t e m s f i n do u tt h e i n a p p l i c a b i l i t yo ft h et c p i pi nc l u s t e rc o m p u t i n gs y s t e m s , a n dd i s c u s s e dm p a n da c t i v e m e s s a g e a tl a s tt h i sa r t i c l ep r o p o s e dan e ww a yt oi m p r o v et h ec o m m u n i c a t i o np e r f o r m a n c e n o w , p c s p e r f o r m a n c ei si n c r e a s i n ga n dp r i c ei sd e c r e a s i n g ,a n dm a n yu n i t s u s ep cc l u s t e r sa c c o r d i n gt ot h eh i g hr a t i oo fp e r f o r m a n c ea n dv a l u e + l i n u xi s r e a l i z a t i o no fu n i xo np c ,a n di ti so p e ns o u r c 七a n dt i m e - s h a r i n go p e r a t i n gs y s t e m l i n u xh a sb e c o m et h ep o p u l a ro p e r a t i n gs y s t e mo fp cc l u s t e rd u et oi t sp o w e r f u ln e tf u n c t i o n m p i ( m e s s a g ep a s s i n gi n t e r f a c e ) i sam o d ew i d e l yu s e db yp a r a l l e lc o m p u t e r s ,a n d p a r t i c u l a r l yi sf i tt op a r a l l e lc o m p u t e rw i t hd i s t r i b u t e dm e m o r y f o rt e ny e a r s ,t h i s m o d eh a sm a d em a t e r i a lp r o g r e s si na p p l i c a t i o no fc o m p u t e r s n l es t a n d a r do fm p i h a sd e f i n e db i n d i n gt oc c + + a n df o r t r a n m i c hi so n eo fs t a b l er e a l i z a t i o no f m p i i tc a nb u i l dj o i n tt oc ,c + + ,f o r t r a na n dj a v a a st h em a i np a r a l l e lp r o g r a m m i n g t o o l ,m p iu t i l i z e st h es o c k e tw h i c hi st h ed i s t r i b u t e di p cm e c h a n i s ml i n u xp r o v i d e st of u l f i l li t s c o m m u n i c a t i o nf u n c t i o n s ot h i sp a p e ra n a l y s e st h em e c h a n i s mo fs o c k e tc o m m u n i c a t i o nb e t w e e nd i s t r i b u t e d m a c h i n e s n i sa r t i c l es t u d i e dt h eu s eo ft c p 1 pi nc l u s t e rc o m p u t i n gs y s t e m s f i n do u tt h e i n a p p l i c a b i l i t yo ft h et c p i pi nc l u s t e rc o m p u t i n gs y s t e m s ,a n dd i s c u s s e dt h ec o m m u n i c a t i o n m e c h a n i s mo fm p i a tl a s tt h i sa r t i c l ep r o p o s e dan e ww a yt oi m p r o v et h ec o m m u n i c a t i o n p e r f o r m a n c e a n dd e s i g n e daf a s tc o m m u n i c a t i o np r o t o c o li nl i n u xc l u s t e ro fp co n1 0 0 m e t h e m e tt oi m p r o v et h ec o m m u n i c a t i o np e r f o r m a n c eo f t h ec l u s t e rc o m p u t i n gs y s t e m k e b o b :c l u s t e rc o m p u t i n gs y s t e m ,h p c ,m p l f a s tc o m m u n i c a t i o np r o t o c o l i 郑重声明 本人的学位论文是在导师指导下独立撰写并完成的,学位论文没有剽窃、 抄袭等违反学术道德、学术规范的侵权行为,否则,本人愿意承担由此产生的 一切法律责任和法律后果,特此郑重声明。 学位论文作者( 签名) :趣乡孝0 2 0 噼r 月犷日 前言 集群系统,即是指利用高速通用网络将一组高性能工作站或高档微机,按 某种结构连接起来,并在并行程序设计开发环境支持下,统一调度的并行处理 系统。从结构和结点间的通信方式来看,它属于分布存储系统。主要利用消息 传递方式实现各主机之间的通信,由建立在一般操作系统之上的并行编程环境, 完成系统的资源管理及相互协作,同时也屏蔽工作站及网络的异构性,因此集 群系统可以用同构或异构方式构成。集群系统具有低成本、高性能的特性,提 供了强大的批处理和并行计算能力,代表了高性能计算机发展的新方向。 衡量集群网络性能的重要因素是通信延迟时间,它包括了协议软件处理开 销和网络硬件处理时间。集群系统的通信性能是整个系统的薄弱环节,可以从 网络硬件、通信软件两方面分析影响通信系统性能的主要因素。一是网络带宽 低;二是操作系统的额外开销;三是t c p i p 协议对网络性能的影响;四是协议 中复杂的缓冲管理。 本文在此前景下,提出了简化协议层,旁路t c p i p 层,直接与数据链路层 进行通信,并提供缓冲区管理、共享内存区管理及进程间通信的支持,以此达 到提高集群通信性能的效果。本文共分五个部分,第一部分为绪论,介绍了本 文的背景和本文的工作。第二部分介绍了l m u x 系统及其内核和集群系统。第 三部分对集群中通信性能及h n u x 集群中t c p i p 进行分析,并指出其不足之处。 第四部分介绍了关于提高h p c 集群通信性能的设计。第五部分是设计的实现。 第六部分是性能的测试。 绪论 1 绪论 1 1 背景 随着科学技术的发展,人们对计算机系统的运算速度和处理能力的要求越 来越高,尤其是某些需要超高性能的计算机应用领域,如:科学工程计算、天 气数据处理、大型信息服务和网络服务数字图书馆、生物信息处理和视频多媒 体系统等。为了适应计算性能的需要,超级计算机系统应运而生。 工作站性能、p c 机性能的提高和网络技术的发展,使并行计算领域出现了 三大新的方向:对称多处理机系统s m p ( s y m m e t r i cm u l t i p r o c e s s o r s ) ,大规模并 行处理m p p ( m a s s i v e l yp a r a l l e lp r o c c s s o r s ) 并g l 集群( c l u s t e r ) 1 1 。s m p 技术已在商 业中应用成功,但是,s m p 技术支持的c p u 数目有限,除非针对特别的应用, 很少有s m p 产品能支持3 2 个c p u 。所以,通过s m p 技术实现成百上千个c p u 互连的难度较大。m p p 系统能提供很高的性能,但并未取得巨大成功。而且, m p p 系统通常成本高,缺乏灵活性,升级、维护困难。于是,近年来人们开始 研究一种新的并行计算系统,即集群系统。 所谓集群系统,是指利用高性能通信网络将一组计算机结点,按某种体系 结构连接,在现代化网络通信技术、并行程序设计及可视化人机交互集成开发 环境支持下,统一调度协调处理,以实现高效并行处理功能。集群系统用相对 廉价的高速网络取代了昂贵的多c p u 技术,同时获得了良好的可扩展性和高 可用性。 集群系统是一种松耦合的体系结构,各个计算结点之间需要通过网络频繁 进行大量的数据传输,所以建立一个高效快速的通信子系统,是集群系统能否 发挥运算效率的关键。系统中的计算结点可以是高性能的工作站或者普通p c 机。集群通信系统主要由互联网络网络接口和建立于其上的通信软件构成。随 着通信技术的发展,网络物理带宽有了很大提高,从1 0m b p se t l l e m e t 到 1 5 5 6 2 2m b p s 的a t m 、1g b p s 的c r i g a b i te i l l e m e t 、1 2 8g b p s 的m y r i n e t t 2 l 等。 但是终端用户和应用程序并没有从通信硬件性能的大幅度提高中得到相应的收 益,网络接口和结点机上通信软件的开销成为影响性能的主要瓶颈。 为了充分发挥硬件通信性能,各种轻量级通信机制相继提出。其中代表性 的有v m m c ( x r m u a lm e m o r ym a p p e dc o m m u n i c a t i o n ) p 4 1 、 u - n e tt 6 , 7 1 、a c t i v e m e s s a g e ( a m ) t “o 】和最近的g m ( g e m e i em e s s a g e ) 、b p ( b a s i ci n t e r f a c ef o r p a r a l l e l i s m ) t 1 3 1 、b c l - 3 0 3 a s i ec o m m u n i c a t i o nl i b r a r y ) 1 1 4 1 等。高性能通信软件的 2 运用,才能使集群系统真正成为一种比较理想的并行处理平台,未来几年仍将 是研究的热点。 1 2 本文的工作简介 最近几年中,集群系统已经成为并行处理领域的主流平台。【1 】随着电子器 件制造技术和工艺的迅速进步,硬件性能提高极快。目前互联网络的通信延时 已到微秒级,甚至更小。相对而言,通信软件和网络接口的发展滞后,成为影 响整体性能的障碍,软件开销所占比重越来越大,传统通信接口不能和高性能 硬件相适应,成为提高通信效率的关键障碍。目前的研究重心已从互联网络转 移到通信软件及其网络接口如何减小和隐藏通信中的软件开销,消除带宽瓶颈, 将网络硬件的性能尽可能多地提供给终端用户已成为研究热点之一。研究并行 可扩展的计算机体系结构成为提高计算机系统性能的一个重要途径【1 5 】。 本文主要研究l i n u x 环境下p c 集群系统中的高效通信机制,m p i 的应用 及l i n u x 操作系统下的s o c k e t 编程,通过绕过t c p i p 层,直接发送数据到数据 链路层,以此来改善传统系统的通信性能,旨在发搁p c 集群的计算潜力,以 进一步提高系统的性能价格比。因此,这项研究具有较强的现实意义。 通过集群系统高效通信主流技术的研究,描述了集群高效通信系统的概念, 刻画了其组成功能特征和基本结构,讨论了影响集群通信性能的主要因素,并 有针对性地提出了优化策略和设计思路。 对l i n u x 环境下进程通信进行深入的分析,着重从数据结构入手,对几个 关键的系统函数进行了剖析,利用l i n u x 操作系统中的进程间通信,即i p c 机 制对共享内存区进行同步、管理和应用。 快速通信协议基于e t h e m e t ,对传统的通信机制进行针对性的改进,并结 合t c p 的可靠性和u d p 的灵活性在l i n u x 集群系统下实现。因为该协议只有 层协议处理,避免了t c p i p 冗余而复杂重复的查错机制、流量控制等,对于 集群并不需要的功能。所以,可以通过直接收发以太包,并采用简洁的控制机 制,就可以有效降低通信延迟。另外,针对缓冲区进行管理,以达到对于大量 数据进行缓冲处理,减少通信中出错重传的比率,这对于存在大量数据传送的 并行计算,如:排序或矩阵等,也是十分重要的。 l i n u x 集群简介 2l i n u x 集群简介 2 1l i n u x 简介 l i n u x 是一个符合p o s i x ( p o r t a b l eo p e r a t i n gs y s t e mi n t e r f a c e ,可移植操作 系统接口) 标准的免费操作系统。它具备u n i x 系统所具备的全部特征,包括多 任务、虚拟内存、共享库、需求装载、优秀的内存管理和t c p i p 网络支持等。 l i n u x 以它的高效性和灵活性著称,它能够在p c 机上实现全部的u n i x 特性, 具有多任务、多用户的能力。l i n u x 操作系统软件包不仅包括完整的l i n u x 操作 系统,而且还包括了文本编辑器、高级语言编译器的应用程序。还包括带有多 个窗口管理器的x - w m d o w 图形用户界面,就像使用微软的w m d o w s 操作系统 一样。虽然其外表和性能与常见的u n i x 非常相近,但它所有的系统内核代码都 已经被重新编写,是一套完整的现代操作系统。 2 1 1l i n u x 的特点 l i n u x 操作系统之所以能够得至迅猛发展,这与l i n u x 具有的良好特性是分 不开的。l i n u x 作为当前如此流行的操作系统,它几乎满足当今u n i x 操作系统 的所有要求,它具有u n i x 操作系统的基本特征。l i n u x 具有以下主要特性: 开放性 支持多用户访问和多任务编程 完全兼容p o s 1 0 标准 支持动态链接 支持多种文件系统 支持t c p i p , s l i p 和p p p 良好的用户界面 2 1 2l i n u x 的主要组成 l i n u x 一般有四个主要部分:内核、s h e l l 、文件结构和实用工具。 1 l i n u x 内核 l i n u x 内核主要由以下几部分组成:内存管理、进程管理、设备驱动程序、 通信管理等四部分组成。 2 l i n u xs h e l l 4 l i n l r x 集群简介 s h e l l 是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它 接收用户输入的命令并把它送入内核去执行。 实际上s h e l l 是一个命令解释器,它解释由用户输入的命令并且把它们送到 内核。同时,s h e l l 有自己的编程语言用于对命令的编辑,它允许用户编写由s h e l l 命令组成的程序。l i n u x 提供了像m i c r o s o f tw i n d o w s 那样的可视化的命令输入 界面- xw i n d o w 的图形用户界面( g u i ) 。每个l i n u x 系统的用户可以拥有他 自己的用户界面或s h e l l ,用以满足他们自己专门的s h e l l 需要。 3 l i n u x 文件结构 l i n u x 的文件目录采用多级树形结构,用户可以浏览整个系统,可以进入 任何一个己授权进入的目录,访问那里的文件。文件结构的相互关联性使共享 数据变得容易,几个用户可以访问同一个文件。l i n u x 是一个多用户系统,操 作系统本身的驻留程序存放在以根目录开始的专用目录中,有时被指定为系统 目录。 4 l i l l u l 实用工具 内核,s h e l l 和文件结构一起形成了基本的操作系统结构。此外,l i n u x 操 作系统还有许多被称为实用工具的程序,辅助用户完成一些特定的任务。标准 的l i n u x 系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、 过滤器、交互程序、网络应用程序等。用户也可以开发自己的工具。 2 1 3 内核 1 徽内核 传统意义下的操作系统,其内核应具备多个方面的功能或成分,既包括用 于管理属于应用层的进程的成分( 如进程管理) ,也包含为这些进程提供各种 服务的成分( 如进程间通信、设各驱动程序和文件系统等等) 。内核中提供各 种服务的成分与使用这些服务的进程间实际上形成了一种典型的c l i e n t s e r v e r 关系。 如果把这些服务提供者从内核转移到进程的层次上,那么内核本身的结构 就可以大大的减小和简化。而各个服务进程,既然己从内核中游离出来,便可 以单独地设计、实现以及调试,更重要的是可以按实际的需要来配置和启动。 基于这样的想法,各种微内核( m i c r o k e r n e l ) 便应运而生。特别是对于一些专 用的系统,主要是实时系统和嵌入式系统,微内核的思想就很有吸引力。 2 l i n u x 内核 与微内核相对应,传统的内核结构就称为宏内核( m a c r o k e r n e l ) ,或称为 “一体化内核”( m o n o l i t h i ck e m e l ) 玎司。通用式的系统由于所需的服务面广而 l i n u x 集群简介 量大,一体化内核就更加合适。作为一种通用式系统,l i n u x 采用的就是一体 化内核结构。如图2 1 所示。 i 艘用择序 j 用,空埘 上 。 泵统獬用接口 ll 虐l i 史竹熏蛙 i 内存管理暑 i 进程督理番 l 一络飘静 li 尘忭摹茂瓢嫡积序t c p f p 幡议 i i 碰盘鬟岫il 较量幕曲i l 啦 叫卡鬻琦l li l 阳 l 餐盘il 救盘盘l l 咀咀a 嘲缸 i 。 。 图2 1l i n u x 内核的组成部分 ( 1 ) 内存管理器 内存管理十分复杂,如果把所有的工作都集中在一个模块中,必然会使内 存管理模块太过复杂。所以。l i n u x 将内存管理工作划分开,分成了几个不同 的内存管理器,它们各司其职,互相配合,共同完成对内存的管理。如图2 2 所示。 用户内存管理嚣 l 内段整搬内存管理嚣i j r - 一 虚搬内稃营理器 i r l 内攘内存管理警 l ,r i 物理内存管理醛 图2 2l l n u x 内核中的内存管理器 6 l i n u x 集群简介 物理内存管理器。物理内存管理器负责物理内存的分配、释放和回收, 它以页为单位实施管理。 内核内存管理器。由于物理内存管理器过于粗放,所以l i n u x 提供了内 核内存管理器,专门负责内核中对小内存的分配、释放和回收。 虚拟内存管理器。虚拟内存管理器在物理内存管理器的基础上,通过页 目录、页表及交换机制,为系统中每个进程模拟了一个大小为4 g b 的 虚拟地址空间。由于虚拟内存管理器的作用,用户进程几乎不受实际物 理内存大小的限制。 内核虚拟内存管理器。为了满足内核对大内存的需求,l i n u x 利用虚拟 内存管理思想,在内核虚拟地址空间实现了内核虚拟内存管理器。 用户空间内存管理器。用户空间内存管理其负责进程用户态虚拟内存的 动态分配和回收( 如c 语言中的m a l l o c 、f r e e 等) ,它管理的内存在进 程的堆中。用户空间内存管理器一般在库( 如l i b c ) 中实现,不属于内 核,但内核对其提供相应的支持。 其中,物理内存管理器是基础,虚拟内存管理器是核心,而各个内存管理 器又都离不开内核内存管理器的支持。 ( 2 ) 进程管理器 l i n u x 是一个多进程操作系统,其中可以同时存在多个进程,它们互相独立 又相互影晌。进程是互相独立的,是指在未经许可的情况下,一个进程不能访 问另一个进程的资源;进程又是相互影响的,则指的是进程之间可以通过i p c 机制相互通信,以便交互信息、协调运行。 在一个进程的生命周期中,它要用到许多系统资源,如c p u 、内存、文件、 各种步 设等。l i n u x 必须跟踪系统中所有进程及他们所使用的资源,以便做到 公平管理。系统中最宝贵的资源是c p u ,通常的系统中只有一个c p u 。如果进 程数多于c p u 数,就需要多个进程共享一个c p u 。l i n u x 进程管理的主要目标 是: 充分发挥c p u 的作用,让其尽可能地运行,减少其空闲时间。 在多个进程之间尽可能公平地分配c p u 时间,使每个进程都有运行的机会。 ( 3 ) 设备驱动管理 操作系统是介于应用程序和机器硬件之间的一个系统软件,其目标之一就 是掩盖系统硬件之间的差别,为用户提供一个统一的编程接口。然而,一个通 用的操作系统所面对的硬件设备是千差万别的,所以要支持某种设备,就必须 要提供这种设备的控制代码。在l i n u x 里,它既允许把设备驱动程序在编译时 静态的连接在内核中,也允许动态地在运行时手动安装,称为“模块”;还允 许在运行状态下当需要用到某一个模块时由系统自动安装。这样时模块仍然在 l 1 n u x 集群简介 内核中运行,而不是像在微内核中那样作为单独的进程运行,所以其运行效率 还是得到了保证。 h 1 网络服务 t c p i p 协议是i n t e r a c t 的标准协议,同时也是事实上的工业标准。l i n u x 的 网络实现支持b s d 套接字,支持全部的t c p h p 协议。l i n u x 内核的网络部分由 b s d 套接字、网络协议层和网络设备驱动程序组成。和t c p i p 协议的结构类 似,l i n u x 以分层的软件结构实现t c p i p 协议族。 2 2 集群系统 2 2 1 集群的定义 集群( c l u s t e r ) 定义:一组相互独立的服务器在网络中表现为单一的系统,并 以单一系统的模式加以管理。简单的说,集群实际上就是一组计算机,它们作 为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点 ( n o d e ) 。 集群是全体计算机( 结点) 的集合,这些计算机由高性能网络或局域m ( l a n ) 物理地互连【”。计算机集群( 如p c 集群) 是由两个或者更多的相互独立的计 算机通过网络连接在一起工作的系统,它提供相同服务或者实现相同目的;在 外厩看来,整个集群表现为一个单一的系统。集群系统中的单个节点都是一台 可独立运行的系统,拥有独立的c p u 和存储器。 集群能在同一时间内执行多条指令或处理多个数据,它是并行计算的物理 载体,通过下面对并行计算机的不同分类方式可以对它有一个总体上的了解。 从物理划分上共享内存和分布式内存,是两种基本的并行计算机存储方式。除 此之外,分布式共享内存也是一种越来越重要的并行计算机存储方式。 集群系统是利用高速通用网络将一组高性能计算机,按照某种结构连接在 一起,在并行程序设计以及可视化人机交互集成开发环境支持下,统一调度, 协调处理,实现高效并行处理的系统。从结构和节点问的通信方式来看,它属 于分布式存储系统,主要利用消息传递方式实现各个主机之间的通信,由建立 在一般操作系统之上豹并行编程环境完成系统的资源管理以及相互协作,同时 也屏蔽计算机之间的异构性i l 。 如图2 3 所示根据一个并行计算机能够同时执行的指令与处理数据的多少 可以把并行计算机分为【1 9 】: s i m d ( s i n g l e i n s t r u c t i o nm u l t i p l e - d a t a ) 单指令多数据并行计算机 m i m d ( m u l t i p l e - i n s t r u c t i o nm u l t i p l e d a m ) 多指令多数据并行计算机 l i n u x 集群简介 s i m d 和m i m d 这种表达方法虽然至今还在广泛使用,但是,随着新的并 行计算机组织方式的产生,比照上面的划分方法,人们按同时执行的程序和数 据的不同,又提出: s p m d ( s i n g i e - p r o g r a mm u l t i p l e d a t a ) 单程序多数据并行计算机 m p m d ( m u l t i p l e - p r o g r a mm u l t i p l e - d a t a ) 多程序多数据并行计算机 依据的执行单位不是指令而是程序,显然其划分粒度要大得多。 图2 3 并行机的分类 一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他们看 来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意 增加和删改集群系统的节点。集群系统由节点和计算机网络组成,再配置上全 局软件,是一种松散耦合的多机系统。通过各节点的并行运行,可以实现高性 能的分布式计算。互连各节点的网络可以采用通用网络,如以太网、f d d i 、快 速以太网,甚至更高带宽的h i p p i 和a t m ,现在更为流行的是 y r i n e t ,q s n e t , g i g a n e t 和s c i 这些专用网络。因为各并行分布任务间通信量大,网络负载较 重,采用低速网络会直接影响应用的性能,采用高速网络,应用性能将明显提 高。节点之间为了协同运行,系统需要运行全局的任务划分和调度算法,所有 资源的分配算法,以及消息传送软件来实现节点间的并行计算。同时,集群系 统还应提高并行编程环境和系统维护等功能。在用户看来,集群系统是一个超 级并行计算环境,意识不到多节点及网络的存在。 2 2 2 集群系统的优点 集群系统与大规模并行处理器相比较有以下优点: 目前工作站或高档微机中c p u 性能比超级计算机和m p p 中c p u 性能增长 快。这样,整个系统的性能也将呈迅速发展趋势: 配置很大内存的工作站可用相当合理的价格买到; l i n u x 集群简介 许多公司己安装了大量可作分布计算的工作站或高档微机,用户的先 前投资能够得到保护; 集群系统投资风险小,并且这种松散耦合的结构扩展性好。只要互连 网络的带宽高、延迟小,当系统规模扩大时,仍然能够保持较高的加 速比和效率。 对集群的研究起源于集群系统的良好的性能可扩展性( s c a l a b i l i t y ) 。提高 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 2 3 高性能计算集群 虽然根据集群系统的不同特征可以有多种分类方法,但是一般把集群系统 分为两类:高可用( i n g h a v a i l a b i l i t y ) 集群,简称h a 集群。这类集群致力于提供 高度可靠的服务。高性能计算( h i g hp e r f o r m a n c ec o m p u t i n g ) 集群,简称h p c 集 群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。 高性能计算集群就是采用集群技术来实现高性能计算。传统意义上的技术 计算和商用计算( 在此,商用计算是指应用软件类型和组织本身的功能) 之间的 界限越来越模糊。商业应用,如数据挖掘,可以运行在一个高性能计算集群体 系架构中。商业实体和科研机构正在寻求超级计算机集群解决方案,如:石油 公司用这些设备来执行地震预测、石油储备模拟等其它任务。金融服务行业用 这些设备来进行投资组合计划。应用范围正不断扩大。生物信息技术是使用高 性能计算集群的另一领域。 集群系统是基于网络互联而构成,因此网络性能将直接影响集群系统的并 行计算效率、处理问题的适应范围以及系统的可扩展性。要实现一个高性能的 集群系统,必然需要有低延迟、高带宽的网络系统的支持。通信子系统是并行 计算机系统的重要组成部分,完成各结点之问大量的数据传递功能。因为并行 处理时间是由计算时间和数据通信时间两部分组成,通信性能将直接影响并行 计算的加速比和效率。如果通信时间所占的比例过大,必然使并行计算的加速 比下降,同时降低系统效率,并影响集群的高效实现。通信系统是指连接集群 系统各处理结点的通信硬件,以及建立于其上的通信软件。它的主要功能,就 是为各处理结点上应用程序的进程之间提供高效可靠和有序的服务。高效的集 1 0 l i n u x 集群简介 群通信既是推动集群系统发展到今天的主要动力,同时也是其继续发展的一个 重要基础。 当论及高性能计算集群时,很多人会想到l i n u x 高性能集群,而更多人的 第一反映就是b e o w u l 产们。起初,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 的集群系统,c o v 一2 1 】和 m o s i x l 2 2 1 就是另两类著名的集群系统。 b e o w u l f 集群 b e o w u l f 是一种系统结构,它使得多个计算机组成的系统能够用于并行计 算。系统通常有一个管理节点和多个计算节点构成。它们通过以太网( 或其他网 络) 连接。管理节点监控计算节点,通常也是计算节点的网关和控制终端。当然 它通常也是集群系统文件服务器。在大型的集群系统中,由于特殊的需求,这 些管理节点的功能也可能由多个节点分摊。通常由最常见的硬件设备组成,例 如:p c 、以太网卡和以太网交换机。b e o w u l f 系统很少包含用户定制的特殊设 备。它通常采用那些廉价并且广为传播的软件,例如:l i n u x 操作系统、并行 虚拟机( p v m ) 和消息传递接口( m p i ) 脚j 。 c o w 集群 和b e o w u l f 一样,c o w ( c l u s t e r o f w o r k s t a t i 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 i n e t 或g i g a n e t ) 上的消息传递( p v m 或m p i ) 进行进 程通信( 口c ) 。因为c o w 中的计算节点主要的目的是桌面应用,所以它们都具有 显示器、健盘和鼠标等外设。而b e o w u l f 的计算节点通常没有这些外设,对这 些计算节点的访问通常是在管理节点上通过网络或串口线实现的。 m o s i x 集群 实际上把m o s i x 集群放在高性能集群这一节是相当牵强的。但是和b e o w u l f 等其他集群相比,m o s i x 集群确实是种非常特别的集群,它致力于在l i n u x 系 统上实现集群系统的单一系统映象s s i ( s i n g l es y s t e mi m a g e ) 。m o s i x 集群将网 络上运行l i n u x 的计算机连接成一个集群系统。系统自动均衡节点间的负载。 因为m o s i x 是在l i n u x 系统内核中实现的集群,所以用户态的应用程序不需要 任何修改就可以在m o s i x 集群上运行。通常用户很少会注意到l i n u x 和m o s i x l i n u x 集群简介 的差别。对于用户来说,m o s i x 集群就是运行l i n u x 的一台p c 。尽管现在存在 着不少的问题,m o s i x 始终是引人注目的集群系统。 2 2 4 集群通信系统评价标准 集群通信系统旨在为各处理结点应用进程之间提供高效、可靠和有序的通 信服务,其中点到点通信是集群通信系统的基础,点到点通信性能是表征集群 性能最基本的指标,一个高性能集群通信系统必须具备良好的点到点通信性能。 最简单的定义通信性能的参数就是进行一次消息发送与接收所需要的时 间。美国c u l l e r 等人提出的l o g p 模型,用4 个参数l 0 9 p 来刻划一个并行计算 机特征【”。 接收蛐点 图2 4i _ o g p 模型 如图2 - 4 所示,在进行定长的小消息通信时,l o g p 模型用以下四个参数评 价集群系统的通信性能: l ( l a t e n c y ) :消息在互联网络上的传输时间,取决于网络接口、网络带 宽、路由延迟。 o ( o v e r h e a d ) :处理结点为发送和接收条消息所用的开销,包括操作 系统核心开销和网络开销。 g ( o a p ) :处理器连续两次的消息发送或接收之间的最小间隔时间,l g 相应于处理器的通信带宽。 p ( p r o c e s s o r ) :互联网络连接的处理结点个数。 通常在描述个通信系统时,将l o g p 模型中的o 分解为发送开销o s 、和 接收开销o r ,r t t 是r o u n d t r i p t i m e 的缩写,为一次通信的往返延迟。在网络 轻载且只有小消息的情况下,l o 驴模型用以上四个参数,精确刻划出集群通信 系统的性能,由于实际中长消息的使用也很频繁,l o g g p 模型在l o g p 模型的 基础上定义了参数0 ,用来表示长消息传递时连续两个字节之间的间隔时间。 另外国内也有人对l d 妒模型进行扩展,引入了必要的阻塞机制以适应网络重载状态。 集群通信性能的分析 3 集群通信性能分析 3 1 集群通信开销分析 对于并行处理系统,人们期望有较高的结点运算速度系统的加速比,性能 接近线性增长,并行应用程序的开发要高效方便。r i s c 技术的迅速发展使得 工作站和微机的运算性能越来越高,因而目前的研究主要致力于提高系统的并 行效率和方便易用上。其中如何建立一个高效的通信子系统是问题的关键所在。 然而对现有的高速网络进行测试发现,它们的实际性能远远不能达到理论值。 文献【2 4 】表明,在s u ns p a r c 2 0 工作站上对1 0m b p s 以太网和6 4 0m b p s m y r i n e t t c p 往返延迟时间和最大网络带宽进行测试,m y r i n e t 峰值带宽只有4 2 6m b p s , 远小于6 4 0m o p s 的理论物理链路带宽:往返延迟高达1 5 0 6 微秒,甚至大于以 太网的延迟时间,通过对通信系统的处理开销进行分析可以找到原因所在。 高速网络硬件确实在很大程度上降低了网络的传输延迟,但是软件的处理 开销并没有减少,在整体开销中占很大比重,阻碍了高速网络硬件实际性能的 发挥,降低了系统的通信效率。因此,只是减少硬件开销根本无法得到满意的 通信性能。随着网络硬件不断升级更新,软件开销所占比例将会越来越大,以 至于成为提高通信效率的主要瓶颈。 并行应用程序中点对点通信过程为:首先应用程序调用通信函数将要传送 的数据拷贝到协议缓冲区,接着是协议根据可靠性保证机制和顺序性控制机制 将数据分拆成适合链路传输的数据包,然后通过网络传送到目的结点,再经过 反过程最终将数据交给接收进程。 分析点对点的通信过程可以看到。其中通信开销主要有五个部分:操作系 统开销、缓冲区管理、协议处理、数据拷贝和硬件处理延迟。通信的时间延迟 可以由公式( 3 一1 ) 表示 1 k m i c a i o r t = t w n d + 一t t 唰v c ( 3 - 1 ) ( 3 1 ) 式中,t s c n d 为发送方时间延迟,t 。t w 0 i k

温馨提示

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

评论

0/150

提交评论