(计算机应用技术专业论文)mpich通信接口分析与基于rapidio的mpi设备层实现.pdf_第1页
(计算机应用技术专业论文)mpich通信接口分析与基于rapidio的mpi设备层实现.pdf_第2页
(计算机应用技术专业论文)mpich通信接口分析与基于rapidio的mpi设备层实现.pdf_第3页
(计算机应用技术专业论文)mpich通信接口分析与基于rapidio的mpi设备层实现.pdf_第4页
(计算机应用技术专业论文)mpich通信接口分析与基于rapidio的mpi设备层实现.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 摘要 集群技术发展到今天,集群节点间的互连技术对集群整体性能的影响越来 越重要。m p i c h 作为广泛使用的集群通信函数库,集群网络的通信性能直接影 响到m p i 程序的运行效率。新型高性能r a p i d l o 互连技术具有高带宽、低延迟、 良好的扩展性等特点,将它应用到集群系统中可以改善集群的通信性能。为了 能够在集群通信环境下使用r a p i d l o ,m p i c h 需要提供针对r a p i d l o 网络通信 接口的消息传递通信环境,本文正是基于此目的进行分析和研究的。 本文首先对m p i c h 2 的层次结构和建立在t c p 网络通信协议上的m p i 通 信方法进行了深入的分析,并指出了使用t c p 协议进行传输的缺点。在此基础 上,基于流控制传输协议s c t p 引入的多流传输的思想,以及r a p i d l o 底层支 持优先级传输的思想,对m p i c h 2 的t c p 实现进行改进。文中通过实现c h 3 层下的接口,设计并实现了一种基于r a p i d l o 的m p i 专用通信接口,建立了从 m p i c h 到r a p i d l o 的通信通道,并实现了基于优先级的三流并行传输通信机制。 本项研究根据传递消息的类型和消息长短确定消息的优先级,并将不同优 先级的消息映射到不同的消息流上传输。在实现的过程中,为了使得长短消息 能够得到公平、及时的处理,将长消息分段传输,并对分段的长消息传输提出 了主动提出请求传递消息的改进方法,以减少长消息的响应时间,提高网络通 信性能。 文中还进一步开发三维格点m c 并行应用程序,实际运行证明采用基于优 先级的多流传输机制和针对长消息传输时所作的改进等工作,能够提高m p i c h 的通信性能。 f r e e s c a l e 公司已将r a p i d l o 互连技术应用于其开发的m p c 8 5 4 8 e 嵌入式系 统中。本文通过在装有m p c 8 5 4 8 e 嵌入式系统机器上的实验结果表明,这种专 用的m p i 通信接口要比以太网模拟器性能提高,而且对于大数据量的通信,性 能表现更好。 关键词:消息传递接口;m p i c h 2 ;r a p i d l o ;集群;设备层;高性能计算 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y a b s t r a c t w i t ht h ed e v e l o p m e n to fc l u s t e rt e c h n o l o g y , t h ee f f i c i e n c yo fn e t w o r kp l a y sa m o r ea n dm o r ei m p o r t a n tr o l ef o rt h eo v e r a l lp e r f o r m a n c eo fd u s t e r s m e a n w h i l e , t h em e s s a g ep a s s i n gi n t e r f a c ew h i c hi so n eo ft h em o s tp o p u l a rl i b r a r ys p e c i f i c a t i o n s f o rm e s s a g e - p a s s i n gc o m m u n i c a t i o nw o r k so nt h en e t w o r k s ot h ee f f i c i e n c yo f n e t w o r kc o m m u n i c a t i o nw o u l de f f e c t i v e l yi m p a c to nt h ep e r f o r m a n c eo fm p i p r o g r a m s t h en e x tg e n e r a t i o nc o m m u n i c a t i o nf a b r i cb r i n g st o g e t h e rt h er a p i d l o i n t e r c o n n e c tt e c h n o l o g y , b e c a u s eo fg o o dp e r f o r m a n c e ,s u c ha sw i d eb a n d w i d t h ,l o w l a t e n c ya n de x t e n s i b i l i t y , r a p i d l oc a nb eu s e dt 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 ef o rc l u s t e r s t h i sa r t i c l ea i m sa ta n a l y s i n ga n di m p l e m e n t i n gt h em p i e n v i r o n m e n ts p e c i f i e df o rt h er a p i d l oi n t e r f a c es ot h a ti tc a nb eu s e di nc l u s t e r s c o m m u n i c a t i o na n dc o m p u t i n gt a s k s i nt h i sa r t i c l e ,f i r s t l y , t h es t r u c t u r ea n df e a t u r eo fm p i c h 2h a v eb e e na n a l y s i e d , i t sc o m m u n i c a t i o nb a s e do nt c p p r o t o c o lf o rt r a n s f e r r i n gd a t ah a sb e e ni l l u s t r a t e d a n dt h es h o r t c o m i n g so ft c pc o m m u n i c a t i o nm e c h a n i s mh a v eb e e np o i n t e do u t t h e n , t a k i n gs c t p sm u l t i - s t r e a mc o m m u n i c a t i o ni d e aa n dp r i o r i t ys u p p o r t i v e t h o u g h ti nr a p i d l oa sr e f e r e n c et om a k ei m p r o v e m e n to nt c pf o rt r a n s f e r r i n gd a t a b yr e d e s i g n i n gt h ec h 3l a y e rw h i c hi s t h el o w e rl a y e ro fa d l 3 ,t h i s p a p e r i m p l e m e n t st h es p e c i a lm i d d l e w a r ef o rr a p i d l oa n dt h ei d e ao fm u l t i s t r e a m c o m m u n i c a t i o ns ot h a ti tc a nb u i l daw a yo ft r a n s f e r r i n gd a t af r o mm p i c ht o r a p i d l o t h i ss p e c i a li n t e r f a c ea i m sa th i g h l yo p t i m i z em p i ,m a k e st h eb e s to f h a r d w a r e a d v a n t a g e f o r r a p i d l o ,h a v i n g t h ec h a r a c t e ro fm u l t i - s t r e a m c o m m u n i c a t i o nw i t hp r i o r i t ys c h e d u l i n gs t r a t e g ya n dr e l i a b l ed a t at r a n s f e r r i n ga b i l i t y t h i sm u l t i - s t r e a ms t r a t e g yi si m p l e m e n t e db yt h r e ep a r a l l e ls t r e a m sw h i c hr e p r e s e n t d i f f e r e n tp r i o r i t i e s ,a n de a c hp r i o r i t yi sd e c i d e do nm e s s a g ep r o p e r t yo ft y p ea n d l e n g t hs ot h a tm e s s a g e sw i t hd i f f e r e n tp r i o r i t i e sc a l lb ea s s i g n e di n t od i f f e r e n t s t r e a m s m o r e o v e r , i no r d e rt om a k i n gs h o r ta n dl o n gm e s s a g e sg e te q u i t a b l ea n d t i m e l ya c c e s s i b i l i t y , i td i v i d e st h el o n gm e s s a g e so v e r6 4 ki n t of i x e ds i z e i i 上海大学硕士学位论文 t h e p o s t g r a d u a t e t h e s i so fs h a n g h a iu n i v e r s i t y s u b s e c t i o n sa n db r i n g sf o r w a r dm e t h o d st oi m p r o v et h e i rp e r f o r m a n c e f u r t h e r m o r e ,t h i sa r t i c l ed e v e l o p sat e s tc a s e t h e3 dm o n t ec a r l op a r a l l e l a p p l i c a t i o n t ot e s ti t s p e r f o r m a n c e t h er e s u l t s h o w st h a t i n t r o d u c i n g t h e m u l t i s t r e a mc o m m u n i c a t i o nw i t hp d o r i t ys c h e d u l i n gs t r a t e g ya n di m p r o v e m e n to n l o n gm e s s a g e sw o u l de n h a n c et h ep e r f o r m a n c eo fm p i c h f r e e s c a l es e m i c o n d u c t o rc o r p o r a t i o nh a si n t r o d u c e dad e v e l o p m e n tp l a t f o r m t h a tc o m b i n e st h e i n d u s t r y sh i 曲e s tp e r f o r m i n gp r o g r a m m a b l ed i g i t a ls i g n a l p r o c e s s o r sa n dt h el o w e s tp o w e rs e r i a lr a p i d l os w i t c ha v a i l a b l e i t sp r o d u c t t h e m p c 8 5 4 8 ep r o c e s s o rs u p p o r t st h es e r i a lr a p i d l os p e c i f i c a t i o n i nt h i sa r t i c l e ,t h e t e s tp l a t f o r mi sb u i l tu p o nc o m p u t e r sw i t hm p c 8 5 4 8 ep r o c e s s o r , f r o mt h er e s u l t so f t e s t s ;i tc a nd e m o n s t r a t et h a tt h i ss p e c i a lm i d d l e w a r es h o w sc o n s i d e r a b l ea d v a n t a g e s c o m p a r i n gw i t hi t so r i g i n a lw i t hb o t hh i g l lb a n d w i d t ha n dl o wl a t e n c y k e y w o r d s :m e s s a g ep a s s i n gi n t e r f a c e ;m p i c h 2 ;r a p i d l o ;c l u s t e r ;m i d d l e w a r e ; h i g l lp e r f o r m a n c ec o m p u t i n g i i i 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 论文图表目录 2 2 1m p i c h 2 的目录结构9 2 2 2m p i c h 2 的层次结构图1 0 2 2 3m p i i t 调用关系图1 4 2 2 _ 4m p is e n d 的调用关系图。1 5 2 2 5m p ip u t 的调用关系图。1 6 2 2 6m p ii r e e v 调用关系图1 7 2 2 7m p i rb e a s t 调用关系图1 8 2 2 8 聚合函数调用转化为点对点函数调用1 9 2 2 9h p r i m r i c h 的层次结构图2 0 2 4 _ lm p i d ic h 3 n i t 的函数调用。2 6 2 4 2m p i d ic h 3 的调用关系27istartmsg 2 4 3m p i d ic h 3 的调用关系28_istartmsgv 2 4 - 4m p i d ic h 3 的调用关系29eagercontigsend 2 4 5m p i d ic h 3r n d v s e n d 的调用关系2 9 2 4 - 6m p i d ic h 3 的调用关系30progresswait 2 4 _ 7m p i d ic h 3i s e n d 和m p i d ic h 3i s e n d v 的调用关系3 0 3 4 _ lm p i c h 2 使用t c p 的请求应答机制3 9 3 4 _ 2 针对长消息对请求应答机制的改进4 0 3 年3m r i c h 消息格式4 l 3 4 - 4 数据收发过程图4 2 3 4 5t c p 产生的队头阻塞问题4 5 3 4 6 使用多流传输能避免队头阻塞问题4 5 3 4 7 内存分配管理图4 7 4 2 1 双向带宽性能比较5 7 4 3 1 双向延迟性能比较5 8 4 4 1p u t 带宽性能比较5 9 4 5 1g e t 带宽性能比较6 0 4 6 1p u t 延迟性能比较6 l 4 7 1g e t 延迟性能比较6 2 4 8 1 复杂材料分子模拟三维格点m c 算法流程图6 4 4 8 2 关于边界问题的数据划分及其相应进程间通信图6 5 2 1 1m p i 的分层实现7 2 2 1m p i c h 2 的命名规范1 2 2 2 2 函数功能说明1 5 2 2 3 函数功能说明。1 6 2 2 - 4 函数功能说明1 7 v i 图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图图 表表表表表 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 表2 2 5 函数功能说明1 8 表4 8 1 运行m c 程序的结果比较。6 6 v 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人己发 表或撰写过的研究成果。参与同一工作的其他同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。 签名: 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即: 学校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学 校可以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名:导师签名: 。狲一日期: j i l l , 3 a 口 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a h g h a iu n i v e r s i t y 第一章绪论 1 1 课题研究背景 在集群环境下如何提高网络传输速度建立高性能网络,对于集群的应用和 发展具有重要的意义【l 】。目前集群采用的高速网络主要有g i g a b y t ee t h e r n e t 、 10 g be t h e r n e r 、p a t h s c a l e 的i n f m i p a t h 、i b m 的s p 网络、s g i 的n u m a - - l i n k 、 g r a y 的r a p i d a r r a y 、d o l p h i n 的s c i 、i n f i n i b a n d 、m y r i n e t 网络等 2 1 。其中,g i g a b y t e e t h e r n e t 延迟达到了3 0 5 0 u s ,带宽达到了1 0 0 m b s ;m y r i n e t 延迟达到6 u s ,带 宽达到2 4 8 m b s ;s c i 延迟达到1 4 u s ,带宽达到3 2 6 m b s ;i n i f i n i b a n d 延迟达 到7 5 u s ,带宽达到8 5 0 m b s 。这些高速网络除了有高带宽、低延迟的特点外, 其硬件还支持许多原来需要由软件才能完成的特性,比如由硬件完成数据包的 分拆,重组,由硬件进行错误检查并且重发等机制,从而大大降低了c p u 的开 销。由于g i g a b y t ee t h e m e t 网络相对费用最小,目前集群中使用最广泛的高速 通信网络为g i g a b y t ee t h e m e t 和i n f i n i b a n d t ”。然而,对于这些高速互连网络来 说,为了发挥它们的优势,设计和实现了很多具有针对性的互连网络协议,上 述高速互连网络分别实现了高效率的通信协议,比如,i n f i n i b a n d 有v a p i , o p e n l b 等【4 1 ,m y r i n e ! t 有g m 5 1 ,s c i 有s i s c i 等【6 1 。 目前,新兴的r a p i d l o 高速互连网络是由m o t o r o l a 等公司率先倡导的一种 新型高性能、低引脚数、基于报文交换的互连体系结构,是为满足现在和未来高 性能嵌入式系统需求而设计的一种开放式互连技术标准,能广泛满足嵌入式系 统应用的需求,包括网络设备、存储子系统和通用计算平台内的微处理器、存 储器、存储器映像的i o 设备间的互连【7 1 。这种架构是一种基于高性能包交换 的互连技术,主要功能是完成在一个系统内的微处理器、数字信号处理器d s p 、 通信和网络处理器、系统存储器以及外设之间高速的传输数据。r a p i d l o 主要 着眼用于紧耦合系统内部互连,支持芯片到芯片、板到板间的通讯,通过它可以 提供带宽、软件独立性、容错性和短等待时间,满足更高的性能要求,目前其 传输性能可从1 g b s 到6 0 g b s 。r a p i d l o 有两种互连方法:种是支持高性 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 能微处理器和系统互连的并行接口;另一种是用于串连底板、数字信号处理器 d s p 及其串行控制平台的串行接口。同时,它还提供了很强的错误处理和恢复 功能。 r a p i d l o 是一种新型的高性能互连体系结构【8 1 ,它除了具有低延迟、高带宽 的性能外,最主要的是它能够满足现在和未来高性能互联网络的需求,定义了 一种开放式互连技术标准并且提供了支持优先级传输等特性,从而为高速互连 网络提供了新的网络互连技术标型9 1 。 m p i c h 是高性能计算中最常用的程序库,为了支持i n f i n i b a n d ,m y r i n e t , s c i 等高速互连网络,m p i c h 提供了抽象的接口层,并且在接口层上实现了对 于v a p i ,o p e n l b ,s i s c i 等的接口。m p i 是独立于执行环境的平台,而且它的 通信设计考虑到在多种网络环境下程序的有效运行,因此m p i 的设备层需要处 理怎样开始执行一个程序,管理进程的实时支持,以及支持多种网络环境下通 信设备层的交互性。m p i 设备层没有标准化的版本而且每一种实现都使用它自 己的设计。例如,m p i c h 的a d i 以及l a m 的r p i 等。这些实现的通信设备层 组件的优点在于它能更好的利用底层交互的特性而提高性能。然而,这些交互 都建立在广泛使用的t c p i p 基础上【m 】。为了使用r a p i d i o 嵌入式系统,需要重 新设计更加简单且实用的m p i 设备层来支持高速互连网络r a p i d i o 的传输。 1 2 国内外研究现状 目前,国内外都很重视对于高性能网络互连技术的研究。国外对于集群系 统以及网络通信设备层的研究主要有o h i o 大学网络计算实验室( n b c l ) 设计并 实现的m v a p i c h 系统【1 1 】。o h i o 大学设计并开发的m v a p i c h 是基于m p i c h 2 实现的。但是为了提高m p i 的通信性能,m v a p i c h 没有在c h 3 下实现新的网 络接口,而是直接在m p i 的最上层实现了新的通信接口。其目前支持 o p e n f a b r i c s g e n 2 ,u d a p l ,v a p i 组件。m v a p i c h m v a p i c h 2 系统主要使用 i n f i n i b a n d ,i w a r p 和r d m a 互连网络技术,它具有性能高、稳定性强和高容 错能力等特性,可以实现快速网络通信【1 2 】。现在,有超过5 8 0 家世界性的组织 或机构使用m v a p i c h ,同时,有许多基于h f i m b m d ,i w a r p 和r d m a 技术 的网络互连服务商从事m v a p i c h 的研究和发布,使得这一新型的网络互连技 2 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v g r s i t y 术呈现出强大的潜力。国内对于特定高度互连网络的通信设备层的研究目前有 清华大学研究并实现的基于v i a 的m p i c h 2 的实现【1 3 】。v i a 作为一种网络问通 信的新型模式,首先由c o m p a q ,i n t e l 和m i c r o s o r 公司联合提出,它的主要特 点在于在处理器、内存和i o 子系统之间建立直接的关联,以用户层的角度直 接和远端通信,从而避免了用户核心态之间的频繁切换开销,大大提高效率【1 4 1 。 清华大学高性能研究所通过重新设计a d i c h a n n c l 层,实现了基于自行研制的 网络设备硬件的v i a t h n e tv i a 及其基础上的m v i c h 的实现,并且通过性能 测试得出结论:v i a 通信接口在性能上较传统的t c p 通信接口在大数据包的传 输过程中带宽可以达到t c p 设备的几倍。 目前国外的f h p c a ( f p g ah i g hp e r f o r m a n c ec o m p u t i n ga l l i a n c e ) 合作组织 认识到通过r a p i d i o 网络进行集群互连的优点,其建造的f p g a 超级高性能计 算集群使用了r a p i d l o 高速互连网络以提高集群性能【1 5 】。由以上可以看出,针 对r a p i d l o 及其相关方面的研究意义深远,通过设计专用的设备接口连通到底 层的特定硬件设备上,使得硬件设备能够达到更好的性能是目前的热点,这对 于改善高性能计算通信性能与集群互连网络的研究和应用都具有重要的意义。 1 3 选题依据 1 3 1 研究的前沿性 随着对于超级计算机需求的提高,集群系统的规模越来越大。其体积,耗 电量,互连网络规模都在飞速增长。目前的集群结构已经无法满足规模继续扩 大的要求。于是现在的集群系统结构向着高度集成化的s o c ,s o b 结构发展。 然而现有的用于集群中的千兆以太网、m y r i n e t 、s c i 、i n i f i n i b a n d 等互连网络, 其带宽和总线的利用率都不能充分满足计算节点互连、计算节点和存储设备互 连的需要等原因,以至于它们无法用在s o c 或者s o b 上。目前在s o c 中,只 有r a p i d l o 高速互连网络,其速度同样达到了1 0 g b s ,并且具有低延迟,以及 适合于高性能计算等很多硬件特性,比如f r c e s c a l e 的m p c 8 5 4 8 e ,其在一块芯 片中集成了1 3 g h z 的p o w e r p c 核、d d r 2 内存控制器、r a p i d l o 高速互连网络 等。然而,r a p i d l o 做为新的通信硬件,其目前的软件接口只有支持t c p i p 的 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 以太网模拟器。所以目前的m p i 要使用r a p i d i o 网络,只有通过s o c k e t 接口, 使用t c p 协议进行通信,通过以太网模拟器才能使用r a p i d l o 网络。而这种通 信方法无法发挥r a p i d i o 的硬件特性,所以其效率比较低,还有待改进。由此, 提出了在r a p i d i o 基础上实现m p i 接口。 目前,对r a p i d i o 网络在高性能计算方面的研究与应用,国内外做的工作 不多。为了进行集群高性能计算网络互连方面的研究,上海大学在实验设备上 安装了含有r a p i d i o 控制器的m p c 8 5 4 8 e 处理器。本文主要研究目标是在集群 环境下使用新型的r a p i d i o 互连,通过建立针对r a p i d i o 的m p i 设备层使得集 群环境下可以使用r a p i d i o 网络进行消息传递。 1 3 2 研究价值 为了使得r a p i d i o 应用于高性能计算,本文研究了如何在基于r a p i d i o 的 h p r i ( r i g hp e r f o r m a n c er a p i d i oi n t e r f a c e ) 接口上建立起m p i 专用设备层,从而 完成m p i 到高性能r a p i d i o 设备接口的连通,使得m p i 应用程序能够通过调用 此专用设备层使用高性能r a p i d i o 接口。本课题组其他成员开发了基于r a p i d i o 硬件特性的接1 3h p r i ,该接口可以充分发挥r a p i d i o 网络的特性,有利于在高 性能计算中提高网络性能。 本文的工作内容建立了基于h p r i 接口与m p i c h 层的连接,本文所作的研 究目的在于基于r a p i d i o 网络改善集群系统网络通信性能。 1 4 研究内容 对于集群计算的两种主要编程模式,本文主要研究m p i c h 消息传递接口 及消息传递模型下的m p i 设备层的设计与实现,通讯设备层在消息传递的过程 中起到中间连接的作用,这样可以将上层的应用程序调用与下层的通讯环境联 系起来。设备层的设计主要考虑到上层实现m p i 的抽象接口,负责通信和采集 的操作,将底部真正的信息传递机制分离开来;同时也涉及下层实现基础的基 于特定设备和协议的点对点通信操作。通过设计专用的设备层可以连通某一特 定的底层硬件接口,从而实现硬件设备的运行并改善通信性能。 本文的主要工作是研究r a p i d i o 互联网络环境下的m p i 设备层的设计与实 4 上海大学硕士学位论文 ! 生呈2 1 坚塑垒竺坐! ! 竺堡2 11 1 竺韭兰! 型翌! 竺! 堕 现,分析了m p i 消息传输的要求,即:多流技术,流量控制,下层传输协议的 通信管理等。本文在深入分析当前通过以太网模拟器才能连通到r a p i d l o 的通 信接口的基础上,本文通过重新设计,实现了从m p i 层到底层r a p i d l o 接口的 专用通信通道,其效率与以太网模拟器比较有明显优势。 在数据传输过程中,采用了3 个数据流并行传输的思想从而提高了系统并 发性。文中结合r a p i d l o 支持3 个优先级数据传输的特性,设计并实现了3 个 优先级的数据传输机制,使得优先级高的数据传输请求能够得到及时处理,提 高了系统的响应能力。 本文第二章首先分析m p i c h 2 的设计,其中主要针对c h 3 通道进一步研究 并追踪调用关系,弄清楚消息传递的通道路径。然后分析并对比t c p 、u d p 协 议、s c t p 协议在m p i c h 2c h 3 实现的过程中功能和设计上的不同,以及 r a p i d l o 接1 3 的优势。通过比较,得出各自的特性以及在性能表现上的优劣。 第三章基于r a p i d l o 接1 3 的特点以及m p i 的特性并利用s c t p 的面向消息 及多流的通信机制,设计出适合于h p r i 的m p i 设备层m r i c h ( r a p i d l o b a s e d m e s s a g ep a s s i n gi n t e r f a c ea n dc h a m e l e o n ) ,并且完成m p i 到h p r i 接口的实现。 在其他成员开发的基于r a p i d l o 接口的h p r i 的基础上,使得上层应用程序通 过m r i c h 连通到下层的h p r i 接口,最终得以调用底层的嵌入式系统。 第四章则在建立的m r i c h h p r i 实验平台上,通过运行o h i o 大学发布的 标准测试程序和自主开发的三维格点m c 并行程序,得出测试数据,并将此专 用设备层与基于t c p 协议的以太网模拟器进行性能分析和比较,最后得出结论: 使用基于r a p i d l o 的设备层能够更灵活地实现m p i 消息传递机制,并且其性能 与以太网模拟器相比较带宽提高了约6 0 ,延迟缩短了约4 0 。 第五章对本文的工作做了总结,并对进一步的研究方向作了介绍。 5 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 第二章m p i c h 的分析与研究 m p i c h 是集群使用的消息通信函数库,为集群通信提供支持。本章主要对 m p i c h 2 进行分析和研究,主要分析m p i c h 2 使用t c p 协议进行消息传递的机 制,为深入研发基于r a p i d i o 的m p i 设备层的实现提供理论依据和技术路线。 2 1m p i c h 的多级层次结构设计 m p i c h 是由美国阿尔贡国家实验室( a r g o n n en a t i o n a ll a b o r a t o r y ) 开发的一 个可移植的m p i 实现【1 6 】。m p i c h 在设计开始时,考虑到某些情况下,将以牺 牲效率来换取良好的移植性。m p i c h 提供了一个抽象设备接口层,以适应在 不同底层通信库之间移植。此处“c h 是“c h a m e l e o n 的缩写,代表对于某 一环境的适应性和可移植性。 面对可移植性和高性能之间的矛盾,m p i c h 体系设计时主要参考两个原 则。首先,多个实现版本可以尽可能的共享程序代码,同时能够不损失性能, 这样使得任何实现版本的程序代码不依赖系统。对于m p i 的大多数对象,例如 数据类型、组、属性以及通信子等都是与平台无关的。许多复杂的通信操作将 由更低层的基本通信来实现。其次,通过提供一种结构使得m p i c h 能够被方 便快速地移植到一个新的平台上,然后通过替换部分共享代码为针对特定平台 的程序代码,从而实现移植【1 7 】。这种机制的实现是通过抽象设备接h ( a d i ) 来实 现的。m p i 的功能是通过组成a d i 的宏和函数来实现的,这些代码是可移植的。 因此,m p i c h 包含多个a d i 的实现版本以便提供可移植性并且这样做易于实 现。其中一种实现是通过底层管道接n ( c h a n n e li n t e r f a c e ) 来实现a d i 的【1 8 】。这 个管道接口是最简单功能的实现,最少时仅有5 个函数就能实现全部功能,并 且提供了最快速的将m p i c h 移植到新环境下的方法。这个接i :3 将逐渐扩展并 包含越来越多的a d ! 的功能。 m p i c h 为了满足高性能、易移植的要求,采取了分层实现的结构,如表 2 1 1 所示: 6 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 表2 1 1m p i 的分层实现 层次说明 m 田i 通过a d i 层提供的服务和平台无关的算法、数据结构实现m p i 标准 接口。 a d i 通过底层通信库提供的a p i 实现,把实现后的接口封装成一类抽象设 备,上一层基于不同的硬件通信平台选择不同的抽象设备。 底层通信库a p i 通常由操作系统或特定通信网络产品产商提供。 m p i c h 的最上层就是m p i 的标准接口,供用户( 并行程序设计人员) 调用 的a p i :中间层在m p i c h 中被称为抽象设备层( a d d ;底层则是与特定通信环 境相关的接1 2 1 ,如操作系统提供的用于t c p i p 网络的s o c k e t a p i ,d o l p h i n 公 司提供的s c i 网卡驱动函数库等。m p i c h 采用这种体系结构设计将使得函数能 够被移植到管道接口、a d i 、应用程序接v i ( a p i ) 以及m p i 。a d i 的设计是一个 复杂的任务,因为使用者总是希望设备能拥有更多的函数以便实现更多的功能。 例如,某设备可能要实现特定的消息队列和消息传输函数。另外,设备运行的 特定环境可能会影响实现的选择方案,尤其是用户内存空间的数据如何传输。 例如,如果设备运行在用户的地址空间,这时传输用户空间的数据将变得比较 容易;如果设备一部分运行在用户空间( 例如,库函数) ,这时设备与a p i 相互 间能够方便地彼此通信、调用,共同执行服务;另一方面,如果设备独立地运 行并且需要一个容器来交换数据或请求。然而进程间的转换是非常昂贵的,因 此通过在一次调用中提供必要的全部信息从而尽量减少这类交换次数是十分重 要的。尽管m p i 是一个相对较大的程序库,但是与设备相关的部分是很小的。 通过使用a d i 来实现m p i ,能够提供可共享的程序代码。而且,利用已发布的 抽象设备实现,可以提高效率。虽然a d i 的设计是为了实现m p i 的可移植性, 然而这样的设计并不是只针对m p i 库;抽象设备的定义可以被用来实现建立在 更上层的消息传递库。 2 2m p i c h 2 的整体框架分析 2 2 1 分析方法 7 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 通过分析m p i c h 2 ,能够了解到使用m p i c h 2 进行消息传递时的环境设置 以及集群环境下如何实现通信。然而,m p i c h 2 的代码有l l m b ,3 4 万7 千行 源代码,面对如此大型的软件,要分析它的函数功能和程序流程是件十分棘手 的问题,而且对于m p i 的分析与研究工作的困难之处在于m p i 的开发手册很不 齐全,甚至有些功能和函数的实现没有相关的开发手册可以查阅。本文选择 g p r o f 分析工具,该性能分析工具可以帮助分析代码的功能,有助于分析代码执 行时间、可以测量函数被调用的次数、任何一行代码或者逻辑分支的运行次数 以及调用函数的调用图和程序中每个部分运行时间。 使用g p r o f l j 勺过程为:通过在g c c 编译应用程序时加上参数( 一p g ) ,参数- p g 的 作用是用于产生额外代码,输出p r o f i l e 信息供分析程序g p r o f 使用,使g c c 可 以在创建目标文件时在代码中插入适当的指令,运行这个编译好的程序来搜集 程序概要分析的有关数据。这样可以通过记录各个函数的调用和结束时间,得 到函数调用的先后关系并可以计算出程序的最大运行时的程序段。这样可以对 程序进行概要分析,并容易的识别出值得优化的代码。在缺省情况下,将分析 每个执行的函数。如果要对每行都分析就要同时使用g 选项,参数- g 的作用是 以操作系统的本地格式( s t a b s ,c o f f , x c o f f 或d w a r f ) 产生调试信息使得 g d b 能够使用这些调试信息,g c c 会插入调试信息,这样g p m f 就可以产生行 报告。缺省情况下,测量数据累计每个函数和它调用的函数的执行次数,一个 采样进程负责收集运行时数据

温馨提示

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

最新文档

评论

0/150

提交评论