




已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)用户层通信与thvia的设计实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
皇曼型堂塑查查兰罂窒竺垦l ! ! 塞韭堂兰一 摘要 丸十年代以来,网络硬件的通信能力迅速提高,网络通讯带宽和可靠性增鸯疆, 百兆网卡广泛威用于黧群系统。而通信软件协议的发展刚相对滞后,影响机群间 逶舔戆力戆主黉毽素南硬咎转囊襞 牛。器越,渡巽了提出了臻户层逶傣兹壤念。 目前,圈内外对焦群通讯协议的研究主凝集中于用户屡通讯协议u l n ( u s e r l e v e l n e t w o r k i n g ) ,g 臻懿熬本愚爨楚:褒撬群系绞繇境中,弼终硬件提骰了稳定可 靠的物理链路,因此可以简化通信协议,抛弃通信协议中确保可靠传输的部分, 另筛铸议采焉踟雳户鼷进程鸯绥与网络硬律抒交道而绕开操作系统的于预,飘丽 减少系统陷入开销,同对也减少了数据由用户空间向内梭空间的拷贝。 v i a ( v i r t u a li n t e r f a c ea r c h i t e c t u r e ) 是u l n 技术进一步发展的结果,v i a t 9 9 6 年出i n t e l ,m i c r o s o f t ,c o m p a q 三家公司荚嚣提出,1 9 9 7 年成必计冀椒 工业的行业标准。v i a 规范吸收了已有的用户滕通信模型的优辩思想,定义了对 上层庭蠲支持静统一接强。v i a 定义载主要嚣鹃蹙荛爱户层通傣技术扶实验室攥 向市场,使之在工业界得到广泛应用,煅终形成面向机群通信市场的商业化产品。 v i a 烧蕊定义了实凝雳户瑟通信繇需要静蘧本静功怒,它采定义v i a 其俸鹩 实现,因此这为各个研究机构灾现v i a 功能提供了广阔的空间。清华大学高性能 所的千卜v 班开发小组致力子v i a 研究工作,嗣前已经谯t h n p s c - 2 网络环境的凝 础上实现了第一套符台v i a 规激的实现t h v i al 。0 。与疆翦醴知的v i a 实现缀 型相比,t h v i a 是国内外第一个v i a 硬件实现,在通储性能上诞远优于其它v i a 原型实现,另岁 t h v i a 述支耩t e p i p 邋售蕊议,买奏嶷妊豹霹扩充缝。 本文首先在理论上分析了t c p i p 通信协议通信过程的开销瓶颈,提出了减 少逶偿嚣镑静尼令方案。其次雩| 入了耀户罄逢继模整,在分褥一般模型分桥静整 础上,描述了几种典型的用户滕通信模挺。再次,分析了目前几种主要的v i a 模 藿靛饶缺点。最后,重点分耩了t h v i a 鹩设计愚慧,模块实现性能分析。 关键词:用户屡通信,v i a ,t h - v i a ,t h n p s c - 2 ,m y v i a 2 ! 里型兰苎查查堂婴塞皇堕g ! 室! 堡杰熊兰 a b s t r a c t i nt h e1 9 9 0 s c o m m u n i c a t i o nc a p a b i l i t yo f n e t w o r kh a r d w a r eg r o w sq u i c k l yw i t h h i g h e rb a n d w i d t ha n dr e l i a b i l i t y , a n dg i g a b i t s n e t w o r ki n t e r f a c eh a v eb e e nu s e d w i d e l v a n dm e a n w h i l e , t h e d e v e l o p m e n t o f s o f t w a r e p r o t o c o l sl a g sb e h i n d t h em a i n f a c t o r a f f e c t i n g c l u s t e r sc o m m u n i c a t i o n c a p a b i l i t y t u r na r o u n ds o f t w t r e 盘o m h a r d w a r e t oa d d r e s st h i sp r o b l e m t h ei n d u s t r yh a sp r o p o s e dt h ei d e ao fu s e rl e v e l c o m m u n i c a t i o n n o wt h er e s e a r c hi sf o c u s e do nu l n ( u s e r - l e v e ln e t w o r k i n g ) 。t h e i d e ai sb a s e do nt h ef o l l o w i n gc o n s i d e r a t i o n s :t h en e t w o r kh a f 妇a r c l ss t a b i l i t ya n d f 啦i a b i l i t yi sg o o de n o u g h s ot h a tw e c a l ls i m p l i f yp r o t o c o la n dc u td o w n 氇e p a r t s a b o u tr e l i a b l ec o m m u n i c a t i o n f u r t h e r “l o r eu l na l l o wt h ep r o c e s s e st oa c c e s st h e n e t w o r ki n t e r f a c ed i r e e t l yw i t h o t i tt h ei n t e r v e l i t i o no fo s ,s ot h et r a p p i n gi n t ot h eo s k e r n e la n di n t e r m e d i a t ed a t ac o p i e sa v e i d t 1 l e d e v e l o p m e n to fu l nl e a d st ov i a ( v i r t u a li n t e f f a c ea r c h i t e c t u r e ) 。v i a s p e c i f i c a t i o nw a sj o i n t l y a u t h o r e db yc o m p a qc o r p o r a t i o n ,i n t e lc o r p o r a t i o nm a d m i c r o s o f tc o r p o r a t i o ni n1 9 9 6 a n di t sal l s e rl e v e lc o m m u n i c a t i o ns t a n d a r dd e s i g n e d f o rc l u s t e rs y s t e r nc o l n n l a n i e a t i o n si n1 9 9 7 v ai n h e r i t st h ee x c e l l e n ti d e a so fs o m e f o r m e rc l a s s i c a lu s el e v e lc o m m u n i c a t i o ns y s t e m sa n dd e f i n e su n i f i e di n t e r f a c e t h e g o a lo f v i a i st oc o n s t i t u t eaw e l la d o p t e di n d u s t r ys t a n d a r da n dt op r o d u c eu s e rl e v e l c o m m u n i c a t i o ns y s t e m sf o rc o m m c r c i a lu s e v i a s p e c i f i c a t i o nh a sd e f m e d t h eb a s i cf u n c t i o n , b u td o e sn o ti n v o l v ei nc o n c r e t e r e a l i z a t i o n 。s om o r ew o r k sw ec a nd ot or e a l i z ev i ai sl e f t n l et h v i ad e v e l o p i n g g r o u pi nt h et s i n g h u au n i v e r s i t yh i g hp e r f o r m a n c er e s e a r c hi n s t i t u t ei se n g a g e di n t h er e s e a r c h o f v i a ,a n d h a s i m p l e m e n t e d a v i a p r o t o t y p e t h v i a v l 0 b a s e d o n t h e 羽烈 s c - 2 n e t w o r k c o m p a r e d w i t ho t h e rv l a i m p l e m e n t a t i o n s , 司 差j v l a i st h ef i r s t h a r d w a r e 何嬲a n d p r e s e n t sb e t t e rp e r f o r m a n c et h a no t h e r sr e a l i z a t i o n 。f u r t h e rm o l e , t c p i pi ss u p p o r t e db vt h v i a f i r s t l y , t h ep a p e ra n a l y z e st h ec o m m u n i c a t i o np r o c e d u r ea n dt h ec o m m u n i e a t i o n e f f i c i e n c yq u e s t i o no ft r a d 瓣o n a lt c 巍l pn e t w o r ks y s t e m s 攮t h e o r ya n ds e v e r f l l m e t h o d sa r eb r o u g h tf o r w a r dt or e d u c et h eo v e r h c a do f c o m m u n i c a t i o n s e c o n d l yw e i n t r o d u c ea n d a n a l y z eu l n r e a l i z a t i o nb a s e do nt h en o r m a lu l n m o d e l s n l i r d l y , w e t a l ka b o u ts o m el e a d i n gv i am o d e l sa tp r e s e n t f i n a l l yw e p r e s e n t 搬ed e s i g ni d e a m o d u l e i m p l e m e n t a t i o na n dp e r f o r m a n c ea n a l y s i si nd e t a i l k e y w o r d s :u s e rl e v e lc o m m u n i c a t i o n ,v i a ,t h - v i a ,t h n p s c - 2 ,m y v i a 2 鞋 中国科学技术大学研究生院( 北京) 硕士论文 第一章引言 机群系统成为并行计算机的主流技术 机群( c l u s t e r ) 系统是互相连接的多个独立计算机的集合,这些计算机可以 是单机或多处理器系统( p c 、工作站或s m p ) ,每个结点都有自己的存储器、i o 设备和操作系统。机群对用户和应用来说是一一个单一的系统,它可以提供低价高 效的高性能环境和快速可靠的服务。 机群系统主要由工作站和互连网络两部分组成,每个工作站上都有一个主机 一网络接v i 实现连网。互连网络可以是通常使用的u 一,如e t h e r n e t 、t o k e n r i n g 、 f d d l 等;也可以是新出现的开关网络如a t m 、交换式高速e t h e r n e t 等;还可以 是专门设计的高速网络如m y r i n e t 等。针对不同的网络,可以实现具体的网络接 v i 。网络的拓扑结构也可以根据实际需要进行选择,如采用网格结构,环形,总 线桥等。 以高速局部网络为基础的并行机群系统是研制高性能计算机的主要手段之 一。并行机群系统在大规模计算方面有广阔的应用前景,如数值天气预报、卫星 遥感图像处理,地震数值处理和科学计算等。 并行机群系统与其他典型的并行系统如向量机,m p p 等相比,具有如下的 特点: 性能价格比高 这是网络机群系统逐步推广应用的主要原因。传统的并行计算系统如向 量机、m p p 系统由于研制费用高,售价昂贵,使得它们的推广受到了一 定的限制。而机群系统中,由于目前单个工作站的性能已经很高,通过 高速互连网络将这些工作站连接起来,其并行计算的总体运算性能可望 达到接近一些巨型机的性能,然而其价格却要低很多。 用户投资风险小 用户在购置传统巨型机或m p p 系统时会担心其使用效率不高,系统性 能发挥不好。如果某些地方出了问题就会浪费大量的资金。而工作站机 群系统就不存在这种问题,因为最起码每台工作站都还可以单独使用, 主要投资不会浪费。 孛萤辩学技零大学研究生魏 魏京) 硕圭连文 系统结搀灵活 工作站机群系统可以包含各种不同体系结构、不阍性能盼工作站,互连 网络也w 以是异构的。这样可以根据实际情况和需要灵活地构遗机群系 统。 用户编程方便 现有努布瓮系统中静并行计算环境如m p i ,p v m 等可戳在工律嫔税群 系统中遮行。在这种环境中,用户只需在原有的程序中加入相应的通信、 获稍等驻语繇霹,可黻弱雳原肖软传瓣富,无需用劳行e 或者著行 f o n r a i l 等语言熏新改写原来的稷序。 葵毒良好秘可护最槛 在高带宽、低延迟的网络支持下很容易对工作站机群系统进行扩展,以 获取较麓麴速魄,著戬捷支持建建润题黪霹扩鼹牲。 可以利用最新的微处理机及网络高速通信技术和产品 微处理搬弱蛙能髑网终裹速透壤菠末都在珏缀燕懿速度发疑,恧工馋站 机群系统可以很方便的利用上馓新的遮些技术和产品来提高系统的性 能。 计算机机群系统的上述特点展现了并行机群计算系缆的魅力。只要花费很小 的投资就可使用商速网终建立起备糖类型的机群并彳亍计算系统。所以机群并行计 簿系统也十分符合我国酌国情。 1 2 机群系统巾的通信问题 集群计算机系统通鬻出十几个、几十个或上肖个独立的计算机通过赢速度的 曩连系统连接而成的。如何在庞大的计算机集群系统内部建立高速、高效和高可 箍的互遣与通信机制,是枫群系统要解决的最为关键的技术之。机群蓉统的特 点是各节点为一个独立的计算机,通常怒台式计算机或服务器,桃群系统的互连 通常建立在节点的局部总线或外部总线级别上,选与即p 系统中趋在c p u 或系统 憨线级剃的紧密驻连不同。随着a t m ,m 埘n e t 椁高速鬟联网络的出现,通信避 穰中软件的开销所占比重越来越大。传统的通信协议由予下面的特点而导致较低 麓透信瞧能。 2 中嚣科学技术大学研究生院( 北京) 硕士论文 多次的数据拷贝 在透信遘耧中,至多存程数摆觚蘑户避程空间囱肉孩空阊的骜鬟( 发送遥程) 和数据从内核窳间向用户空间的拷贝( 接收过程) 。 系统陷入 簧统捺浚壤棱实襄在搡母箬系统蠹核中,因魏嚣要不瑟遗在痰孩空阉窝蠲户空 间之间进行上下文切换,这涉及到众多的现场保护( 如堆栈,寄存器等) 操作; 网络硬件驱动程序实现的麓用 因为网络硬件邋常只有一个数据收发通鼹,所以众多鲍通信进程必须通过驱动程 黪对萁进行复爝。这往往意眯着复杂静酞翔帮缓冲区鬻瑾,这遣建传统透信协议 采用集中式管理的一个重癸原因: 对中断的依赖 一般来说,数搀发送完戏,以及接救到数据班届,鹅终接口硬转鄂会绘窭一 个中断,并触发驱动程序进行处理。中断处理涉及到c p u 的上下文切换,以及 流水线的清空,引起额外开销; 体系结构复杂 为了实繇越来越复杂兹穗能,良及考懋多众多霹麓出现静猿嚣,传统静透信 协议体系都悬个庞杂的结构;比如,t c p i p 协议的目的之一就怒实现异构网 络的互连,所以就要考虑到复杂的网络环境,跨网段的路由算法,以及不可靠的 阚终硬 孛,憩力不对稼戆逡傣节煮等等。嚣在集嚣环壤中,露予连接集群计算飙 的网络互联设备仅需实现较短的连接距离( 0 5 米一3 米) ,物理链路掇商了较高酶 可靠性,因此猩协议层很少考虑节点连接的可靠性。假集群系统通常要求达到很 高鲍数据传输率( 2 g b p s 以上) ,特别是爨求小数据的传输效率。由此,原有的 爱杂豹逶馐秘议己萃逶会集嚣遴蔼特点瀚嚣要。 多年以米,人们发展出了许多技术,试图在机群遇信环境中消除各种冗余的 通信开销,设计高效的通伪协议和并行程序设计环境成为近年来的重要研究课 越,也取得了很多成果。其中用户层通信( u s e r l e v e lc o m m u n i c a t i o n ) 和活动消 惑( a c t i v em e s s a g e s ) 技术建嚣耱广泛采翅熬技术。 用户屡通信技术怒褶对于传统的核心屡邋信技术( k e r n e l - l e v e l c o m m u n i c a t i o n ) 而言的。核心层通信系统依赖于操作系统,以系统调用的形式向 粥户程序提供邋信服务。操体系统保证用户程序对通俗网络的保护憷访问和对网 络豹复露。耱绞兹逶茬谤议魏露影i p 等舔是基于核,良瑟支特实瑷的。由于菝心 滕通信软件内嵌于操作系统,通信过程需要操作系统的干预,引入了较大的处理 歼销,同时核心层和用户层之问的数据拷贝也增加了濑信开销。 3 中国科学技术大学研究生院( 北京) 硕士论文 用户层通信系统允许通信程序直接访问网络接口硬件,简化了协议处理,消 除了操作系统的参与,尽可能将网络硬件的高性能反映到用户层。设计用户层通 信协议已经成为提高通信效率、充分利用网络硬件性能的主要途径。 用户层通信技术经过多年发展,出现了很多有效的通信模型和设计思想。基 于m y r i n e t 网络的用户层通信机制是当前的研究热点,已经取得了很多成果,如 m y r i c o m 公司。的g m m y r i c o m 9 8 、b e r k e l e y 的a m t h o r n s t e n 9 2 3 、u i u c 的 f m p a k i n 9 7 、法国l y o n 大学的b i p l o i c 9 8 、日本r w c p 的p m h i r o s h i 9 6 等。 虚拟接口体系( v i r t u a li n t e r f a c ea r c h i t e e t u r e ,v i a ) c o m p a q 9 7 是i n t e 、 m i c r o s o f t 和c o m p a q 三家公司联合提出的、应用于机群通信领域的一套技术规 范。v i a 规范吸收了已有的经典用户层通信模型的优秀思想,并致力于形成一个 为业晃广泛认可的工业标准,代表了未来用户层通信技术的发展方向。 活动消息技术的主要思想是让消息本身带有处理消息的控制信息( 通常是处 理该消息的函数指针或句柄) ,让消息的传递和结点的计算重叠起来,从而提高 计算和通信效率。以上用户层通信系统中,a m 、f m 就采用了活动消息技术。 1 3t h n p s c - 2 和t h v i a t h n p s c 一2 是清华大学高性能研究所在t h n p s c l 的基础上研发的新一代 用于机群互联的高速网络。t h n p s c 2 包括1 6 端口的交换机t h s w - 2 和改进的 网络接口t h n c - 2 。t h n p s c 2 采用全双工4 8 位6 6 m h z 的l v d s 扁平电缆作为 物理链路,以提供大容量快速的网络传输性能。 t h s w - 2 可以用来构造一个1 6 结点的机群系统,也可以互联形成更加复杂 的拓扑结构,以支持更大规模的机群系统。t h n c - 2 在设计的时候,在诸多方面 考虑到了对v 认的支持。 我们在t h n p s c 一2 的基础上,分析和参考国外已有的v i a 实现,设计和实 现了自己的v i a 实现原型t h v i a 。这也是本论文的主要工作。 4 中国科学技术大学研究生院( 北京) 礤士论文 1 4 论文的主要内容和组织结构 本文的研究内容面向适用于机群系统的用户层通信,而着重点在于虚拟接口 体系( v i a ) 。主要包括:对机群系统中通信技术的深入研究;分析了运行在m y r i n e t 上的t c p i p ,g m ,u - n e t 通信协议,在性能、编程模型、可用性等各个方面做了 深入的比较;在透彻理解v i a 规范和思想的基础上,在局域网环境对t c p i p 协 议和基于以太网的m - v i a 进行了性能上的测试比较;并在t h - n p c s 2 的基础上, 实现了国内的第一套v i a 原型t h v i a 。 测试的结果表明,t h v i a 在通信的带宽性能和延迟性能上都有优越的表现, 其通信性能要优于基于m y r i n e t 的b e r k e l e yv i a 。 论文共分为五章,组织如下: 第一章为引言。 第二章通过对通信过程开销瓶颈的分析,引入了用户层通信模型,并且对其 思想,一般模型做了详细的分析和论述。然后描述了几种典型的用户层通信模型, 在比较的基础上论述其优缺点。 第三章给出了整个虚拟接口体系的架构和流程,并且深入研究了几利t 典型的 v i a 实现。 第四章具体的描述了基于t h n p s c 一2 的t h v i a 的设计思想和模块设计。 第五章给出了t h v i a 的实现细节,并且对比其他的v i a 实现原型做了详细 的性能分析和比较。 第六章对全文进行了总结。 5 中国科学技术大学研究生院( 北京) 硕士论文 2 1 问题的提出 第二章用户层通信 机群通信系统包括互连网络硬件和通信软件两个部分,互连网络为计算结点 提供硬件层物理连接,为上层通信软件提供基本通信服务。通信软件是底层物理 网络和上层应用程序之间的中间层,负责利用硬件层通信功能向应用程序提供所 需的通信服务,并将硬件层通信性能反映到应用层。 影响通信系统性能的因素包括通信硬件、通信软件和通信服务三个方面。 通信硬件通信硬件包括结点存储器、i o 结构、通信网络本身等。通信硬件提 供的物理通信性能决定了上层应用可用的通信性能,另外通信硬件也影响到软件 的设计效率。硬件层开销主要来自于数据在用户空间和网络空间的传输开销、链 路传输开销、路由交换开销等。随着互连网络技术的快速发展,网络硬件的通信 性能、可靠性等指标都大幅提高。 通信软件通信软件包括底层通信协议和并行编程环境。并行编程环境引入的通 信开销相对较小,而协议处理开销是主要软件开销。相对于网络硬件的快速发展, 软件效率没有得到相应程度地提高,影响机群通信性能的瓶颈已经由网络硬件转 移到通信软件上。通信软硬件开销的相对变化趋势如图2 一l 所示。 卜一总的通信开销叫 硬件开销 软件开销 i l li li i 图2 - 1 通信软硬件开销比例相对变化趋势 假设通信软件开销时间为硬件带宽为局。则传输长度为s 的数据的有效带 宽为: 2 i 随着网络硬件的快速发展,昂,越来越大,硬件传输时间s b 越来越小,而通信 中国科学技术大学研究生院( 北京) 硕士论文 软件开销t ,相对稳定,限制了置。的增加。即使s & ,趋向于零,尾,也不会超过 们:,所以改善协议软件的设计是提供应用层有效带宽的关键。 2 2 通信开销分析 下面已t c p e t h e r n e t 通信模型为例来分析通信开销的构成。实验环境如下: e e p r o 千兆以太网卡和普通干兆交换机,m y r i n e t2 0 0 0 交换机和网卡系列。主机 为双i n t e lp e n t i u mi i i7 3 3c p u 微机,5 1 2 m 内存,软件环境为r e d h a tl i n u x 7 2 ,测试程序采用n e t p e r f ,其中n e t p e r f 的参数值使用系统缺省值。 通信环境回路延迟( u s ) ( 8 b y t e )应用层可见带宽( m b s ) t c p f a s te t h e r n e t 1 2 09 3 t c p m y r i n e tl a n a i 9 8 28 9 0 用户空间 核心空间 接口空间 表2 1t c p 层通信性能 应用程序 一一一上楚四旦一 毒孛8 ; t c p i p 协议层 l 易由自囟蔽 一一4 - - 一一一一 接口层 图2 - 2 t c p i p 协议层次 i 发 断 引发 断 中国科学技术大学研究生院( 北京) 硕士论文 从表中可以看出,随着硬件网络的性能的提高,t c p 层通信性能也得到明显 改善。t c p 层利用了f a s te t h e r n e t 硬件带宽的9 4 ,而仅利用了m y r i n e t2 0 0 0 硬件带宽的4 5 。另外我们注意到采用m y r i n e tl a n a i 9 的通信网络,其回路延 迟的性能远远高于采用f a s te t h e r n e t 的网络。由上面的实验结果可以得到这样 的结论,虽然采用新的网络硬件使得通信带宽增加,通信延迟降低,但协议的开 销仍阻碍了发挥网络硬件的最大性能,即集群节点间通信的瓶颈已由网络线路转 向通讯软件。下面分析使用t c p i p 协议进行数据通信的完整流程。协议栈的层 次结构如图2 一s 所示。 完整的t c p i p 通信经历的过程为:发送方调用通信接口函数将要发送的数 据从用户层拷贝到协议缓冲区,协议根据可靠性、流量控制和顺序发送机制等将 数据拆分成适合网络传输的数据单元,再通过网络传送到接收方。接收方进行的 接收过程则相反。该过程引入的通信开销包括数据拷贝、缓冲管理、协议处理、 中断处理、系统调用等。 图2 4 详细列出了通信过程中的通信开销构成: 应用程序 图2 - 3t c p i p 协议栈通信开销构成 从以上分析可以看出,核心层实现的t c p 协议栈是为低速、不可靠的以太网 设计的,实现机制复杂,并内嵌于操作系统,通信开销大。t c p i p 的低效率主 要反映在以下方面: 1 缓冲管理复杂 缓冲管理的作用是完成数据的分拆和组装。t c p i p 的流量控制、差错控制、 中国科学技术大学研究生院( 北京) 硕:匕论文 拥塞控制等功能的实现都与缓冲管理相关。数据从用户层到网络上需要经过多级 缓冲管理,主要是为了匹配网络传输速度和数据处理速度的不一致。t c p i p 缓 冲管理机制复杂,引入了很大的协议处理开销。 2 层次复杂,数据拷贝多 t c p i p 协议包含多个通信层次,层次的增加也增加了对数据的操作和拷贝次 数,增加了通信开销。以u d p i p 通信时,发送数据时,用户进程需拷贝发送缓 冲区的数据到内核缓冲区中;数据数据时,数据需从网卡接收缓冲区拷贝到数据 包接收缓冲区,再拷贝到用户进程的数据缓冲区,共经过两次数据的拷贝。这里 的多次数据拷贝是传统网络通信系统效率低下的主要原因之一。另外,t c p i p 通信层次间重复实现了很多如差错控制、流量控制和数据包组装和定序等功能。 功能的冗余限制了数据在层次间的传递速度,从而降低了最终的应用层通信性 能。 3 协议处理开销大 t c p i p 是建立在低速率、不可靠的传统网络上的,为了提供可靠的通信服务, t c p i p 包含了复杂的协议处理机制。体现在路由选择、流量控制、差错控制、 出错重传、拥塞控制等方面。另外t c p 传输中的校验和计算非常费时,增加了淤 议处理开销。新型互连网络大都由硬件完成校验和计算,而且由于网络硬件提供 很高的可靠性,所以只在链路层完成一次校验和就可以了。 4 系统调用开销大 t c p i p 协议内嵌于操作系统,由操作系统以系统调用的形式提供通信服务。 通信过程需要操作系统的干预。在实现中涉及到上下文切换、页面交换、i o 处 理、中断处理等系统操作。系统调用和上下文切换开销有时甚至超过其他协议处 理开销,大大降低了通信效率。 从上面的分析可以看出,传统共享介质e t h e r n e t 和t c p i p 协议栈构成的网 络环境远远不能满足集群计算的要求。现有机群系统通常使用小范围( 系统域) 、 高性能、高可靠的新型互连网络,并通过改进现有通信软件的实现或设计新型通 信协议提高通信软件效率。世界范围内许多机构都在试图设计开发高速互连网络 和高效轻量级( l i g h tw e i g h t ) 通信协议以提高应用层通信性能,已经取得很多成 果。 中国科学技术大学研究生院( 北京) 硕士论文 2 2 用户层通信思想 解决通信过程中协议开销问题的办法之一是用户层通信。用户层通信思想的 精髓就是在通信过程中绕开操作系统,允许用户程序直接对网络接口进行访问。 、 应用 图2 4 传统通信模型和用户层通信模型对比 传统的通信协议中,整个通信协议都集中式地由操作系统管理,包括资源的 分配,链接的建立,缓冲区的管理,数据的收发。而在用户层通信模型中,把关 键的数据收发路径从操作系统中抽出,允许应用程序直接通过网络接口硬件进行 数据收发,从而达到减少开销的目的。 由于绕开了操作系统,用户层通信避免了数据在用户空间和内核空间之间的 来回拷贝,也避免了在用户态和核心态之间的频繁切换引起的系统陷入丌销。由 于应用程序可以通过通信函数库直接访问网络接口硬件,因此,应用程序的数据 可以直接送到硬件上进行发送,网络硬件接收到的数据也可以送达应用程序预先 准备好的接收缓冲区。这种支持应用程序和网络接口硬件直接交换数据而无需中 间拷贝的通信协议,也叫做零拷贝( z e r o - c o p y ) 协议。另外,由于集群节点问要 传输大量的控制信息,而这些控制包通常小于2 5 6 字节,因此大部分的用户层通 信模型都对短消息提供了特别的支持,以提高集群系统中节点同步的性能。 用户层通信思想并非仅仅在于软件协议的改进,它也对网络接口硬件以及互 联网络开关等提出了要求。这是因为应用程序要与网络接口硬件交换数据,双方 都需要遵守某些约定的交换协议。一次通信的全过程由软件和硬件共同分担。通 常对应通信过程各个阶段功能的使用,硬件具有速度快,但不能实现较复杂的功 中国科学技术大学研究生院( 北京) 硕士论文 能,不够灵活的特点,而软件实现虽然灵活,但占用主机c p u 资源。因此,如何 实现软硬件对各个阶段功能的分担,对于通信的整体性能起较大作用。通常的做 法是把占用主机c p u 资源较多的功能由硬件使用,其它功能复杂但占主机资源较 少的功能由软件实现。这也是我们的硬件v i a 实现- - t h v i a 的一个设计原则。另 外,软硬件之间要做到协调配合,无“间隙”的完成通信任务,这方面的例子是 m y v i a ,它的特点是网络接口处理器和主机c p u 在进行大规模数据传输时,实现 了两个功能部件问的流水操作。 用户层通信模型通常包括网络接口硬件的驱动程序,管理模块和通信函数 库。驱动程序负责管理网络接口硬件,比如对网卡进行初始化,维护网卡工作需 要的各种数据结构,处理网卡中断,执行错误处理等。管理模块驻留在操作系统 内核中,维护各种映射表和转换表,分配各种通信资源,执行内核空间到用户空 间的存储映射。 用户层通信在解决通信开销问题的同时,也引入其他的问题。不通的用户层 通信模型采用不通的办法来解决这些问题,也体现了它们各自的特色和设计思 想。具体来说,涉及的问题包括如下几方面: 应用程序对网络接口硬件的访问方式 用户层通信协议的工作方式是允许应用程序直接与网卡交互,但是这种 交互一般来说是通过预先定义好的通信函数库实现的。通信函数库实现了一 组网络接口的馊用和通信规则,应用程序只能在这些规则的约束下与网络接 口进行交互。 存储管理与地址转换 通信过程中要涉及到各种发送和接受缓冲区,这些缓冲区都属于各个进 程本身,但同时也应当对网络接口可见。同时,由于d m a 传输的要求,往 往要求这些缓冲区是不允许交换的注册缓冲区,所以,大部分的用户层通信 模型要求通信进程通过函数库预先申请注册内存,或者白行申请内存然后到 系统中进行注册。另外,对于通信进程,可见的是缓冲区的虚拟地址,而网 络接口进行d m a 传输的时候,需要物理地址,因此在进行发送或者接受请求 的时候,需要进行地址转换。对于地址转换的场所通常可选择在网络接口的 内存,内核地址空间和用户进程空间,具体选择哪一种方式由网络接口硬件 和v i a 设计方案确定。 短消息支持 短消息对于并行计算和分布式应用有着特殊的意义,因为需要传递大量 皇里型兰垫查查兰堕窒皇堕! 些室! 堕主堡苎; _ _ _ _ _ _ - _ _ _ _ _ - _ - _ _ _ _ _ - _ _ _ _ - _ _ _ - _ _ _ _ _ _ - _ _ _ _ - 的短消息来实现同步操作。另外,在并行计算中,短消息传输应用到大量的 场合,所以短消息的延迟性能成为一个整体性能的瓶颈。现在很多用户层通 信模型都对短消息提供了特别的支持,短消息不必预先存放于通信缓冲区, 而是直接随发送请求送到网络接口,采用这种方式避免了短消息从主机到网 络接口的一次d m a 传输开销。 2 2 几种典型的用户层通信模型 对于用户层通信的研究已经比较深入,也产生出了很多优秀的用户层通信模 型。下面对已有的典型的用户层通信模型做一简单的介绍。 2 2 1 m y ri n e t 的用户层通信机制 2 2 1 1 m y r i n e t 网络硬件特点 m y r i n e t 是m y r i c o m 公司生产的g b 级高性能、高可靠的系统域网络( s a n ) , 是c a l t e c h 的m o s a i c 和u s c i s i 的a t o m i c 项目的直接成果 n a n e t t e 9 5 。m y r i n e t 采用了全双工传输、二维拓扑结构、同步发送异步接收、c u t t h r o u g h 算法、 s t o p g o 硬件流控等技术,提高了网络传输性能和可靠性。最新的m y r i n e t2 0 0 0 网络接口内嵌1 3 3 m h z 的l a n a i9 0 处理器,网络链路通信带宽为2 o g b s ,通 信延迟约为3 u s ,差错率约为1 0 1 5 。m y r i n e t 网络接口包括一块称为l a n a i 的 可编程控制器、四个 d m a 引擎和一块静态 内存区域s r a m 。其中 l a n a i 通过执行驻留 在s r a m 中的网卡控 制程序m c p ,控制d m a 引擎来处理消息的发 送、接收以及和主机、 网络的数据交换。 s r a m 用于缓存消息絮f 数据、存储网卡控制 。“ 程序等。 图2 6 岛岛g 警霸络接口与主机涟撸。 口 中国科学技术大学研究生院( 北京) 硕士论文 上图是m y r i n e t 网络接口与主机连接示意图。数据在发送到网络上之前首先 要从用户内存区域( 主存) 经p c i 总线传送到网卡内存区域( s r a m ) 缓存,此后再 由网卡启动d m a 引擎将缓存的数据发送到网络上,在接收方进行的数据传送 过程相反。 m y r i n e t 的可编程特点,使得用户可以根据需要设计灵活的网卡控制程序满 足特定通信需要,灵活的网络接口设计为方便地设计各种通信协议模型提供了方 便,因此国内外很多用户层协议原型都是以m y r i n e t 网络为硬件基础的。 2 2 1 2 基于m y r i n e t 的用户层通信软件结构 m y r i n e t 网络因其高性能、高可靠、可编程、较高性价比的特点成为机群互 连和通信机制研究时广泛采用的网络平台。基于m y r i n e t 的用户层通信技术是当 前通信领域的研究热点,已经取得很多成果。几种主要的消息通信系统包括 m y r i c o i l l 公司的g m ,其他独立研究机构设计的a c t i v em e s s a g e s ( a m ) 、f a s l m e s s a g e s ( f m ) 、u - n e t 、b i p 、p m 和v m m c 等。这些通信系统在设计思想和性能卜 都有很大差别,但是都涉及通信模型、主机与网络接口的数据交换、消息传送的 并行化、控制消息的传送、可靠性和多播算法等内容 r a o u l 9 8 a r o d r i 9 0 9 9 s o lc h i r 0 9 8 。 基于m y r i n e t 的用户层通信软件结构如图2 7 所示,主要包括三个组成部分: 运行在网络接口空间的网卡控制程序( m c p ) 、运行在系统核心空间的驱动程序 ( d r i v e r ) 以及定义编程接口并运行在主机处理器上的通信函数库。 a p p l ic a t io ns ) j i m p i p v m j v i a + m i d d le w a re 除蠹董j 瑚最g 雾舀ge b a 誊鹫t b 重5 蕈;妻簿复, 厂丽订而订 o s 下行 ( 、栅c p ( 0 sb y p a s ! i d r i v e ri l e the r n e t l im y r i n e t k l t 卜m y r l l l 眺。罂r 0 1i 10 m 10 0 mk jp r o g r a ( m c p ) l 图2 - 7 基于m y r i n e t 的用户层通信软件结构 中国科学技术大学研究生院( 北京) 硕士论文 2 2 ,2a c ti v em e s s a g e f a s tm e s s a g e 许多现代高性能消息传递系统都是从a c t i v em e s s a g e 通信机制中发展来的。 a c t i v em e s s a g e 是一种异步通信机制,其基本思想是每个消息的头部控制信息中 包含一用户消息处理程序的起始地址,在消息到达后该消息处理程序立即获得执 行。处理程序的主要任务是把消息数据从网络中取出,并将其合并到处理节点正 进行的计算过程中。 a c t i v em e s s a g e 由于消息处理程序只将消息数据从网络取出并合并到节点正 进行的计算过程中去,不直接在数据上进行任何计算而有别于远程过程调用 ( r p c ) 和消息驱动模型。与传统的s e n d r e c e i v e 消息传递机制相比,a c t i v e m e s s a g e 最主要的优化在于其可以减少甚至取消对消息的缓存。由于a c t i v e m e s s a g e 中,消息到达后的处理程序是由用户而不是由系统统一提供的,因此接 收端不需进行消息缓存。接收端消息处理程序可以直接将消息数据取到用户程序 所预先分配的存储空间,或者立即回答消息的一些简单请求。这样就减少了接收 方缓冲区管理和将特定消息从缓冲区分离的丌销。发送方在消息很大时消息缓存 是需要的,对小消息来说,网络的缓存就足够了。 a c t i v em e s s a g e 允许发送方确定消息到达后调用的消息处理程序的地址,这 种方式的实现要依赖于应用程序代码在所有节点上的一致映射,例如采用单程 序、多数据编程( s p m o ) 模式。由于消息处理程序的地址根据用户地址确定,通 常的保护机制都不受影响。 虽然a c t i v em e s s a g e 在第一代商用的大规模并行机中取得很好的效果,但是 随着现代处理器的超流水线结构的深入发展,其“到达即分派”的机制变得越来 越难以高效地实现。一些a c t i v em e s s a g e 的实现试图在中断处理程序中调用处理 消息函数,但是这样又会引入额外的开销。 f a s tm e s s a g e 在a c t i v em e s s a g e 的基础上有所发展。f a s tm e s s a g e 把a c t i v e m e s s a g e 中的消息处理调用替换成数据缓冲和显式的查询操作,从而减少了中断 带来的丌销。 2 2 3u - n e t u n e t 结构是康奈尔大学为并行计算设计的用户层消息传递机制。最初采用 该结构的系统原型采用了8 个计算节点,使用a t m 网络进行互连,进程间的通 中国科学技术大学研究生院( 北京) 硕士论文 信( 一个来回) 时间为6 5 u s ,系统传输速率为1 5 m 字节秒。在快速以太网上 u n e t 的单向消息传递延迟在3 0 u s 左右。 u n e t 是在现有网络接口硬件的基础之上,通过e n d p o i n t 结构对通信缓冲区 进行管理,实现用户层通信结构,但仍然在系统调用中进行消息的发送和接收。 u n e t 中采用应用程序通过快速系统陷入启动消息发送的办法访问网络接口。 q r e c vi r e es e f l d 图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信阳涉外职业技术学院《招聘与面试技巧》2023-2024学年第二学期期末试卷
- 健身行业投资与并购咨询服务行业深度调研及发展项目商业计划书
- 企业视频宣传片企业制定与实施新质生产力项目商业计划书
- 江苏医药职业学院《公共建筑设计(Ⅱ)》2023-2024学年第二学期期末试卷
- 神秘埃及法老陵墓餐厅行业跨境出海项目商业计划书
- 口才与演讲技巧提升行业跨境出海项目商业计划书
- 儿童剧与教育演出行业跨境出海项目商业计划书
- 盐城工业职业技术学院《体育游戏创编与实践》2023-2024学年第二学期期末试卷
- 会所钥匙管理制度
- 会计印章管理制度
- 小学民法典主题班会教案
- 2025年江西报业传媒集团招聘题库带答案分析
- 公司退货流程管理制度
- MHD多相流体系统的建模与仿真-洞察阐释
- 办公软件实操试题及详细答案
- 矿产品销售合作合同范本
- 集装箱冷板式液冷数据中心技术规范
- GB/T 7106-2019建筑外门窗气密、水密、抗风压性能检测方法
- GB/T 28046.4-2011道路车辆电气及电子设备的环境条件和试验第4部分:气候负荷
- (精心整理)考试作文格纸
- 仓库管理员培训教材课件
评论
0/150
提交评论