




已阅读5页,还剩63页未读, 继续免费阅读
(计算机系统结构专业论文)机群环境中高效socket研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 机群系统因其高性价比和良好的扩展性,逐渐成为当前高性能计算机领域的主流结 构。随着l i n u x 的蓬勃发展,其应用范围逐渐从科学计算和工程计算等传统领域拓展到 商务应用和网络服务等新应用领域。由于大量的商务网络应用足基f 传统的以太网模式 进行构建的,无法直接移植到机群高性能的通信系统之上,为此,人们展丌了机群环境 中高效s o c k e t 研究,对于提高传统的商务网络应用在机群环境中的通信效率及机群通信 系统的利用率均具有积极意义。本文在高效s o c k e t 研究领域主要丌展了以下工作: 1 分析了基于t c w i p 协议栈的通信流程中各段丌销的分御情况。本文在两种不同 性能的平台上对基于t c p i p 协议栈的通信流程中的各种开销进行了测试。实验结果显 示,t c p i p 协议栈开销在软件开销中占据了较大的比重,并且随着硬件平台性能的提升 所占比重上升的幅度较为明显。 。 2 研究了机群环境中高效协议栈在通信模式及功能层次等方面的特点,同时分析 了置换点的层次问题。实验结果表明,t c p i p 协议栈的开销成为整体性能提升的瓶颈, 机群环境中高效s o c k e t 研究需要高效的协议栈提供支持,高效协议栈必须在通信模式及 功能层次划分等方面能够充分符合机群环境中通信的特点。同时选择合适的层次利用对 传统的通信流程进行置换也是高效s o c k e t 研究中的关键问题之一,置换点处于不同的层 次直接影响到高效s o c k e t 的兼容性、安全性和性能等方面。 3 分析了以v i a 规范为代表的用户级通信协议对高效s o c k e t 提供支持的关键问题。 基于前面的研究成果,本文提出将用户级通信协议移进系统核心对高效s o c k e t 提供支持 的新思路,主要以用户级通信协议标准v i a 规范为代表对其中的关键问题进行 了研究。我们发现v i a 在移进操作系统核心中进行高效s o c k e t 支持主要存在两个方面 的问题,一方面随着v i a 从用户空间移进核心成为k v i a ,k v i a 的使用方式和通信流 程都相应发生了变化,另一方面k v i a 和t c p i p 协议栈在通信模式和连接管理等方面 还存在较大的差异,本文对上述两方面的关键问题进行了分析并给出了相应的解决方 案。 4 设计实现了机群环境中高效s o c k e t 系统1 0 c k v i a 。根据前面的研究成果,本 文结合具体平台实现了机群环境中的高效s o c k e t 系统s o c k v i a ,并对s o c k v i a 进行了 综合评测。测试结果显示,s o c k v i a 实现了二进制级别的兼容,在兼容性和安全性等方 面较好地满足了应用需求,同时在性能方面也达到了较理想的通信带宽和通信延迟。 , 关键词机群通信系统v as 。c “e t 用户级通信协议 a b s t r a c t r e s e a r c ho nh i g hp e r f o r m a n c es o c k e tu n d e rc l u s t e r se n v i r o n m e n t y uy a n s o n g ( c o m p u t e ra r c h i t e c t u r e ) d i r e c t e db ym aj i e c l u s t e r sh a v eb e c o m et h em a i n s t r e a ma r c h i t e c t u r eo fm o d e mh i g hp e r f o r m a n c e c o m p u t i n gp l a t f o m l s b e c a u s eo ft h eh i g hc o s te f f e c t i v e n e s sa n ds c a l a b i l i t y w i t ht h e f l o u r i s h i n gp r o g r e s so fl i n u x ,c l u s t e ra p p l i c a t i o nd o m a i nh a se x p a n d e df r o mt h et r a d i t i o n a l s c i e n c ea n de n g i n e e r i n gc o m p u t i n gt oe - b u s i n e s sa n dn e t w o r ks e r v i c e s h o w e v e r , m o s to f t h e n e t w o r ka p p l i c a t i o n sa r eb a s e do l lt r a d i t i o n a le t h e m e tm o d e l ,a n dc a n tb em i g r a t e di n t o c l u s t e r sd i r e c t l y t oh a v et h ee x i s t i n ga p p l i c a t i o n sm i g r a t ei n t oc l u s t e r sw i t h o u tm o d i f i c a t i o n o re v e nr e c o m p i l a t i o no f t h es o u r c ec o d ei st h ep r i m a r yg o a la n dc o n t e n to f h i g hp e r f o r m a n c e s o c k e t ( h p s ) r e s e a r c h c o m p a t i b i l i t ya n dp e r f o r m a n c ea r et h et w or e q u i r e m e n t si nh p sr e s e a r c h f o rt h e t e c h n i c a lr e s t r i c t i o nb e f o r e ,i tw a ss o o nf o u n dt h a ti tw a sv e r yh a r dt oa c c o m p l i s ht h eb o t h f a c t o r sg r a c e f u l l y 1 1 1 ep r i c et or e a l i z et h eb i n a r yc o m p a t i b i l i t yw a sv e r yh i g hs ot h a tt h e r e q u i r e m e n to f e o m p a t i b i l i t yh a dt ob ed e c r e a s e d a sm o d e ms o f t w a r ep r o d u c t sb e c o m em o r ea n dm o r ee n o r m o u sa n dc o m p l e x ,t h ec o s to f m i g r a t i o na n dm a i n t e n a n c ei n c r e a s ed r a m a t i c a l l y e n h a n c i n gt h ec o m p a t i b i l i t yb e c o m e sa n u r g e n ti s s u et ob er e s o l v e d ,w h i c hi st h em o t i v a t i o no f t h i sp a p e r t os o l v et h e p r o b l e m ,w ea n a l y z e dt h eo v e r h e a dd u r i n gt h et y p i c a lp r o c e s so f c o m m u n i c a t i o nb a s e do nt c p i ps t a c k n ee x p e r i m e n ti sp e r f o r m e do nd i f f e r e n tp l a t f o r m s w h i c hh a v ed i f f e r e n tc o n f i g u r a t i o na n dc a p a b i l i t y i ti ss h o w ni nt h ee x p e r i m e n tt h a tt h e f a c t o r sa f f e c t i n gt h ec o m m u n i c a t i o np e r f o r m a n c ew o u l dv a r yw i t hd i f f e r e n tp l a t f o r m s 1 1 1 em a j o rw o r k so f t h i sp a p e ra r el i s t e da sf o l l o w i n g : 1 ) a n a l y z e dt h ed i f f e r e n c eb e t w e e nc l u s t e r s c o m m u n i c a t i o na n di n t e m e tc o m m u n i c a t i o n w h i c hi st h es t a r tp o i n to f o u rr e s e a r c hi nh p s 2 ) c a l c u l a t e dt h er e l a t i o n s h i pa m o n gt h ep l a t f o r m sa n dt h ef a c t o r si nh p sr e s e a r c ha n d d e m o n s t r a t e dt h ep o s s i b i l i t yt oo v e r c o m ec o m p a t i b i l i t yp r o b l e m sd u r i n gn e wt e c h n i c a l c o n d i t i o n s 3 ) e x t r a c t e df o u rk e yq u e s t i o n si nh p sr e s e a r c ha n dd e s i g n e dan e wm e t h o di nh p s r e s e a r c h i nw h i c ht h et c p i ps t a c ki ss u b s t i t u t e db ym o r ee f f i c i e n tp r o t o c o ls t a c kn a m e d k v i ai nt h eo p e r a t i n gs y s t e mk e r n e l 4 ) d e s i g n e da n di m p l e m e n t e dah p ss y s t e ms o c k v i aw h i c hp r o v e do u rw o r ki nh p s r e s e a r c h k e y w o r d s :c l u s t e rc o m m u n i c a t i o ns y s t e m 。v i a ,s o c k e t ,u s e r - l e v e lp r o t o c o l 1 1 1 机群环境中离效s o c k e t 研究:| 玺i 目录 图目录 图2 - 1 传统的通信框架结构图5 图2 2 仿真以太网设备的框架结构图6 图2 _ 3 重构核心协议栈的框架结构图7 图2 - 4 引入用户级通信的框架结构图8 图2 - 5t r a p e z e 体系结构示意图1 0 图2 - 6s g m 框架结构示意图l l 图2 - 7f a s ts o c k e t s 的框架结构图l2 图2 - 8f a s ts o c k e t s 的通信带宽对比图1 2 图2 - 9f a s ts o c k e t s 的通信延迟对比图1 3 图2 - 1 0g m - s o c k e t s 的框架结构图1 3 图2 - 11g m - s o c k e t s 的通信延迟1 4 图2 - 1 2g m - s o c k e t s 的通信带宽对比图1 4 图2 - 1 3s o v i a 的框架结构图1 5 图2 - 1 4s o y i a 的通信带宽和延迟1 5 图3 - 1 通信流程的抽象图18 图3 - 2 整体通信流程总体开销分布图1 8 图3 - 3 下文切换开销对比图2 0 图3 4 用户空间到核心空间数据拷贝开销对比图2 l 图3 - 5 核心空间到用户空间数据拷贝开销对比图:2 2 图3 - 6 据拷贝总开销对比图2 3 图3 - 7 验和计算开销对比图2 4 图3 _ 8 两种平台上各开销下降对比图2 7 图3 - 9 两种平台上整体开销的分布对比图2 8 图3 - 1 0 两种平台上软件开销的分布对比图2 9 图4 - 1 发送方主导的通信模式效果示意图3 4 图5 - 1v i 的框架结构图3 7 图5 _ 2 两种通信模式对比图3 8 图5 3s o c k v i a 的框架结构图4 0 图5 4 通信延迟随t o k e n 变化图4 3 图5 - 5 通信带宽与t o k e n 变化图4 4 图5 - 6 内核线程结构示意图4 7 图6 - 1s o c k v ;a 的通信延迟对比图5 d i 、 图6 _ 2a o c k v i a 的通信带宽对比图5 2 图6 - 3 典型应用支持性能对比5 3 图6 - 4 整体开销对比图5 4 图6 - 5 软件开销对比圈5 5 v n 机群环境中高效s o c k e t 研究:表目采 表目录 表3 - 1 测试平台的配置参数1 9 表3 - 2 上下文开销的对比数据2 0 表3 3 用户空间到核心空间数据拷贝开销的对比2 1 表3 - 4 核心空间到用户空间数据拷贝开销的对比,2 2 表3 - 5 数据拷贝总开销的对比数据2 3 表3 - 6 校验和开销的对比数据2 4 表3 - 7 校验和总开销的对比数据2 4 表3 - 8 硬件平台的参数配置2 5 表3 - 9 通信开销的对比数据2 5 表3 - 1 0t c p i p 协议栈处理开销的对比数据2 6 表3 - 11 各项开销下降对比表2 6 表3 1 2 整体开销分布表2 7 表3 - 1 3 软件开销分布表2 9 表3 - 1 4 软件开销比例分布表2 9 表6 - 1 测试平台参数配置4 9 表铲2 点到点的通信延迟5 0 表6 - 3 点到点的通信带宽51 表6 - 4f t p 性能支持对比5 3 表6 - 5 整体开销分布表5 4 表6 - 6 整体开销中各项比例分布表5 4 表6 - 7 软件开销分布对比情形5 5 v i i | 声明 雠名:虚君耘嗍m j 彩 雠名:万影概期:j ,彩 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 作者签名考劳彳沥导师签名:鸳壶眺加r 。彳 第一章引言 1 1 研究背景 第一章引言 自从上个世纪九十年代以来,高性能计算引起了全世界的广泛关注,世界各国意识 到高性能计算在科技、国防、经济和民用等方面具有巨大的推动作用,纷纷加大了在高 性能计算研究方面的投入,促进了高性能计算取得了迅猛发展。目前高性能计算的应用 领域覆盖了图像处理、化工、电子、工业设计、气象、金融、自动化、地理和电信等诸 多方面【4 7 】,高性能计算的发展水平已成为衡量国家综合实力的重要指标之一。 伴随着计算机技术的发展,高性能计算的体系结构也发生了深刻变革,出现了 s i m p 、m p p 、s m p 、c l u s t e r 和c l u m p s 等多种体系结构,其中尤以机群系统( c l u s t e r ) 的发展最为迅猛。2 0 0 4 年1 1 月t o p 5 0 0 中的统计数据表明使用c l u s t e r 结构的高性能计 算机共有2 9 4 台,占全球t o p 5 0 0 高性能计算机中的5 8 8 0 4 7 。 所谓机群系统,是由一组计算机系统( 结点) 通过高性能网络或局域网互联而形成 的具有单一系统映像( s i n g l es y s t e mi m a g e ) 的高可用、高性能、高可扩展性的计算机 集群系统在机群中,每个结点具有完备的计算能力,均可视为完整的计算机,如s m p 服务器、工作站或p c 机,均可以独立工作【2 3 】。与其他结构的高性能计算机系统相比, 机群系统的主要性能瓶颈在于机群通信系统的性能研究表明,机群通信系统的性能是 影响整个机群系统实际性能的一个关键因素,“它的容量和性能直接影响了整个系统对 高性能计算的适用性”【7 】。 到目前为止,国内外对于机群通信系统的研究已经取得了相当进展,机群通信系统 的技术发展日趋成熟,出现m y r i n e t 、l n f i n i b a n d 和a t m 为代表的高带宽和低延迟的高 性能网络,提供了传统的以太网无可比拟的性能优势,与传统的以太网相比,这些高性 能网络在通信性能上往往提供了高达几个数量级的性能提升如m y r i n e t 网卡所能达到 物理带宽高达2 5 g b s ,物理延迟可达6 p s 左右 3 2 1 ,从某种意义上讲,上述t o p 5 0 0 中 各种体系结构分布格局的形成也是机群通信系统发展的必然结果。 近年来l i n u x 的应用和研究取得了长足进步,由其良好的稳定性、开放性和强有力 的性价比优势,逐渐成为机群系统上的主流操作系统。随着l i n u x 的日益普及,机群系 统的应用范围正逐渐从传统的科学计算、工程计算等领域向普通的商业应用、网络服务 等领域拓展,由于普通的商业应用和网络服务是基于传统以太网模式下由系统核心提供 的s o c k e t 接口进行构建的,而在机群环境下底层的高性能通信系统往往采用特殊的编程 接口,这些编程接口与标准的s o c k e t 接口之间存在较大的差距,因而传统应用无法直接 移植到底层的高性能通信系统之上,如何在机群通信系统之上提供高效的s o c k e t 支持以 利于普通的商业应用和网络服务能够稳健地移植到机群通信系统之上就成为人们研究 机群环境中高效s o c k e t 研究 的热点问题之一。 1 2 研究的意义和现状 丌展机群环境中高效s o c k e t 研究对于提高普通的网络应用在机群环境中的通信效 率和提高机群通信系统乃至整个机群系统的利用率都具有非常积极的意义,鉴f 此国内 外对此问题展开了一系列广泛深入地探讨,并取得了一系列成果。 人们以传统的以太网模式中的s o c k e t 系统为研究的出发点,对其框架结构进行分 析,提出在驱动层,系统核心和用户空间三个不同的层次对高效s o c k e t 进行研究的策略, 相应地形成三种研究思路,即仿真以太网设备、重构核心协议栈和引入用户级通信协议 等研究思路。 仿真以太网设备主要是通过在驱动层通过将高性能的底层硬件设备仿真成传统的 以太网设备,对核心协议栈和上层应用而言底层的高性能网络设备与传统的以太网设备 并无二致,从而满足传统应用的移植性要求。该思路操作简单,对原系统改动小,核心 协议栈仍然采用非常成熟的t c p i p 协议栈,具有很高的稳定性和可用性,同时对应用 程序没有任何特殊的要求限制,实现了很好的兼容性。该思路由于对系统优化较小,受 上层协议栈的影响,所占开销较大,导致用户实际过程中获得的性能与底层硬件所提供 的性能之间存在较大的差距,远低于人们预想的性能目标。 重构核心协议栈主要思路是通过优化系统的t c p i p 协议栈来提高用户实际可用的 通信性能,所做的改动均是以保证s o c k e t 系统原有的特点为基本前提,从而在提高性能 的同时满足系统的兼容性要求从理论上讲,该思路具有较高的兼容性,对应用程序移 植的限制小,传统应用有时甚至无需重新编译链接即可稳健地移植到机群高性能通信系 统之上。但在实际的操作过程中,由于牵涉到的层面多。涉及到的因素较多,研究的难 度较大,为了兼顾其他方面的因素,往往在移植的过程中对传统应用提出了较多的限制, 反而降低了系统的兼容性,同时由于涉及因素过多也往往难以实现理想的可用性,而且 限于体系结构在性能提升方面的不足,应用程序在通信的关键路径上需要频繁进出核 心,存在较大的开销,尤其是早期技术水平的限制,这些冗余丌销在整体丌销中占掘了 较大的比重,性能进一步提升需要较高的代价。 引入用户级通信的着眼点主要在于最大限度地提高传统应用移植到机群通信系统 之后所能获得的通信性能,思路是在用户空问引入用户级通信协议,将通信所需的处理 从传统的系统核心转入到用户空问中来,从而在通信的关键路径上减少频繁进出核心和 数掘在不同空间之间的拷贝等因素所带来的丌销,与前面集中思路相比,在性能提升方 面相对而言效果更为显著,但由于主要活动范围限于用户空间,在安全性和兼容性等方 面存在一定的局限性,同时在移植过程中对传统应用提出了一定的限制条件,在一定程 度上影响了系统的移植效果 从上面的分析可以看出,上述三种思路各有侧重,在安全性、可用性、兼容性和性 能等方面各有不同的特点。从性能的提升角度而言,引入用户级通信的思路效果更为显 2 第一章引言 著一蝗,尤其在早期的技术条件下,该思路在性能的提升方面与其他两种思路相比存在 较丈的优势,因而人们关f t 的手n 度耍更高些,在一段时叫内关j 二用户级通信协议方面 的研究异彩纷呈,形成了多种用户级通信协议,在此錾础上,c o m p a q 、i n t e l 和微软公 - 1 三家联合制定了用户绒通信协议标准规范v i a 1 8 i 。相对而占,前两荆,思路由f 早期 技术条件的限制进展相对要缓慢得多。 随着现代软件工程思想的深入人心,现代软件规模越束越大,复杂程度越来越高, ,在移植过程中的代价越来越大,如何提高软件产品的移植性和利用率成为人们关注的热 点问题,在这种时代背景下人们对高效s o c k e t 的可用性、安全性、兼容性和性能等方面 提出了更高的要求,要求结合新的技术条件对高效s o c k e t 展丌更深入的研究。 同时随着计算机硬件技术的迅猛发展,我们发现高效s o c k e t 中的各种因素之| 日j 的相 互关系发生了一系列的变化,影响性能、安全性和性能的一些关键因素也发生了转换, 需要结合新的技术条件对高效s o c k e t 进行新的研究。 1 3 本文工作 在广泛钻研学习国内外在高效s o c k e t 领域已有的研究成果的基础上,本文在高效 s o c k e t 研究中主要开展了以下工作: 1 分析了基于t c p i p 协议栈的通信流程中各段开销的分白情况。本文在两种不同 性能的平台上对基于t c p i p 协议栈的通信流程中的各种开销进行了测试。实验结果显 示,t c p i p 协议栈开销在软件开销中占据了较大的比重,并且随着硬件平台性能的提升 所占比重上升的幅度较为明显。 2 研究了机群环境中高效协议栈在通信模式及功能层次等方面的特点,同时分折 了置换点的层次问题。实验结果表明,t c p i p 协议栈的开销成为整体性能提升的瓶颈, 机群环境中高效s o c k e t 研究需要高效的协议栈提供支持,高效协议栈必须在通信模式及 功能层次划分等方面能够充分符合机群环境中通信的特点。同时选择合适的层次利用对 传统的通信流程进行置换也是高效s o c k e t 研究中的关键问题之一。嚣换点处于不同的层 次直接影响到高效s o c k e t 的兼容性、安全性和性能等方面。 3 分析了以v i a 规范为代表的用户级通信协议对高效s o c k e t 提供支持的关键问题。 基于前面的研究成果,本文提出将用户级通信协议移进系统核心对高效s o c k e t 提供支持 的新思路,主要以用户级通信协议标准v i a 规范为代表对其中的关键l 口j 题进行 了研究。我们发现v l a 在移进操作系统核心中进行高效s o c k e t 支持主要存在两个方面 的问题,一方面随着v i a 从用户空问移进核心成为k v i a 。k v i a 的使用方式和通信流 程都相应发生了变化,另一方面k v i a 和t c p i p 协议栈在通信模式和连接管理等方面 还存在较大的差异;本文对上述两方面的关键问题进行了分析并给出了相应的解决方 案。 4 设计实现了机群环境中高效s o c k e t 系统s o c k v i a 。根掘前面的研究成果,本 文结合具体平台实现了机群环境中的高效s o c k e t 系统s o c k v i a 并对s o c k v i a 进行了 3 机群环境中高教s o c k e t 研究 综合评测。测试结果显示,s o c k v i a 实现了二进制级别的兼容,在藤容性和安全性等方 面较好地满足了应用需求,同时在性能方面也达到了较理想的通信带宽和通信延迟。 按照上面的内容。本文各章节安排如下: 第二章中我们对国内外相关研究进行了介绍和总结,要分析了国内外在高效 s o c k e t 研究中的成果的特点:第三章在不同平台上对基于t c p i p 坍议栈的传统通信流 程中各部分的丌销进行了对比分析;第四章对高效s o c k e t 研究中关键问题进行分析;在 总结前面研究成果的基础上本文实现了s o c k v i a 系统,第五章足s o c k v i a 设计和实现等内 容,第六章是关于s o c k v i a 性能评测相关内容;第七章是本文对高效s o c k e t 研究所做的 总结和对后期研究工作中的重点问题所作的展望。 4 第_ 二章国内外相戈研究 第二章国内外相关研究 本章对国内外在高效s o c k e t 研究领域所取得成果进行介绍,首先介绍了传统以太网 模式下的s o c k e t 系统的框架结构,并以此为出发点对国内外的研究思路及其特点进行 了分析总结,最后介绍了这些思路中的一些代表性的典型系统。 2 1 传统的以太网模式 在当前的各种版本的操作系统的实现中,s o c k e t 接口及底层提供支持的协议栈均是 操作系统内核的一部分,以系统调用的形式向上层应用提供服务,典型的消息收发流程 如图2 1 所示。当用户进行消息发送时,首先需要通过系统调用进入操作系统核心,转 入到s o c k e t 层。然后经过协议栈相关处理后,到达驱动程序,最后驱动层调用底层的硬 件设备完成消息的发送。消息的接收过程可视为上述发送流程的逆过程,首先底层的硬 件设备将接收到的消息提交给操作系统核心,经过协议栈处理后,通过s o c k e t 层转交给 上层用户程序。 发送方接收方 三量口 三b 嘲 辫 菇 9 s o c k e t 系统调用 t c p i p 网卡驱动 s o c k e t 系统调用 t c p i p 网卡驱动 籼 辫 辩 口 图2 1 传统的通信框架结构图 上图给出了传统的以太网通信模式,是进行高效s o c k e t 研究的起点。高效s o c k e t 研究的主要目的是将底层低速的以太网替换为高性能的机群通信网络,同时保证所做的 改动对上层用户程序而言不可见从而实现较好的移植效果。从上述框架结构图可以看 出,在传统以太网模式下应用程序的可见范围限于库函数层之上,库函数以下的各层对 用户而l - - 贝l j 都是透明的,大体而言,可以从驱动层、系统核心和用户空h j 等三个不同的 层次分别着手进行高效s o c k e t 研究 s 机群环境中高效s o c k e t 研究 2 2 相关研究思路 自从机群高性能通信系统诞生以来,人们对高效s o c k e t 展丌了广泛的研究。总体而 占,主要有仿真以太网设备、重构核心协议栈和引入用户级通信等i 种研究思路从上 面对传统的以太网模式的介绍中可以看出,三种研究思路的切入点分别对应为驱动层、 系统核心和用户空问等三层。由于切入点所在层次不同,三种思路在高可用性、兼容性、 安全性和性能等方面分别具有不同的特点,下面对三种思路的特点分别进行介绍。 2 2 1 仿真以太网设备 从图2 1 中可以看出,高效s o c k e t 研究最直观的做法是利用商性能网络设备仿真以 太网设备,使得对于邻接的l p 层而言底层的高性能网络设备与传统的以太网设备并无 二致,从而达到将底层低速的以太网替换为高速的机群通信网络的目的,整体的框架结 构示意图如图2 2 所示。 应用程序 is k “库函数 帆 辫 薅 9 s o d t e t 系统调用 t c p i p 高性能网卡驱动 1竺!1 图2 - 2 仿真以太网设备的框架结构图 鉴于p c i 总线技术发展同益成熟,高性能硬件设备大多都支持p c i 总线接 ,如 m y r i n e t 网卡和i n f i n i b a n d 网卡等,因此该方案具有良好的可操作性:时,通过陔思路 原系统仅增加了一个标准的p c i 设备,核心协议栈仍然采用成熟的t c p i p 协议栈,具 有很高的稳定性和可用性;此外该思路操作简单,对应用程序没有特殊的限定,具有良 好的兼容性和安全性,因而一直是各高性能网络厂商采取的必备之选,如m y r i n e t 公司 为m y r i n e t 网卡配备的有g m i p 系统 6 0 1 。 在驱动层仿真以太网设备一方面具有操作性强和稳定性高的特点,另一方面由j 二上 层仍然保留了传统的t c p i p 协议栈,可能会因为软件丌销而影响系统整体性能的提升, 尤其是上层协议栈丌销与硬件开销对比较大时这种情况表现得更为明显。在实际应用过 程中,人们也发现通过该思路传统应用移植后实际所获得的性能远低于人们所预期的通 第二章国内外相芙研究 信性能,传统应用在实际运行中所获得的通信性能与底层硬件所提供的通信性能之删存 在较大的差距如在g m i p 系统中,底层硬件的物理延迟可达6 3 “s ,但应用程序实际 所获得的最低单项延迟仅为3 2 p s 6 0 1 ,远低于人们的预期性能,导致通信性能严重浪费 2 2 2 重构核心协议栈 重构核心协议栈主要着眼点在于从系统核心中对高效s o c k e t 进行研究,通过在系统 核心中对t c p i p 协议栈进行优化,减少通信关键路径上的开销,从而实现使用高性能 网络设备的同时获得理想的通信性能,该思路的框架结构示意图如图2 - 3 所示。 应用程序 s o c k e t 系统调用 重构的核心 协议栈 高性能网卡驱动 :三兰竺竺! i 图2 - 3 重构核心协议栈的框架结构图 重构核心协议栈主要目的是通过优化系统的核心协议栈来提高用户实际获得的通 信性能,所做的优化均是以保证s o c k e t 系统原有的特点为基本前提,从而实现了系统的 兼容性要求从理论上讲,该思路对具有较高的兼容性,对应用程序移植的限制较小, 传统应用有时甚至无需重新编译链接即可稳健地移植到机群高性能通信系统之上可以 对应用程序提供二进制级别的兼容性 但在实际的操作过程中,由于牵涉到的层面广,涉及到的因素多,因而研究的难度 较大。为了兼顾性能等方面的因素,在移植的过程中往往需要对传统应用提出较多的限 制,反而降低了系统的兼容性,同时由于涉及因素过多也往往难以保证系统具有较好的 可用性。 由于体系结构在性能提升方面的不足,在该思路中应用程序在通信的关键路径上需 要频繁进出核心,存在较大的开销,尤其是早期技术水平的限制,这些冗余开销在整体 丌销中占据了较大的比重,导致该思路在性能提升上所取得的效果与人们的期望值之问 仍然存在一定的距离,进一步提升性能需要做出较大的努力 。 该思路的典型代表有t r a p e z e _ i p 系统,为了提高通信性能,在t r a p e z e _ i p 中根据机 群环境的特点对t c p i p 协议栈上下都做了较大程度地改动,采取了一系列技术手段来 机群环境中高效s o c k e t 研究 减少关键路径上的通信开销,包括零拷贝( z e r oc o p y ) 、减少校验和( c h e c k s u m o f f l o a d i n g ) 、消息流水( m e s s a g e p i p e l i n i n g ) 和中断整合( i n t e r r u p ts u p p r e s s i o n ) 等技术, 此外为了进一步提高通信性能还采用了特制的硬件设备 2 1 1 而且对普通应用提出了较 严格的限制条件,严重影响了系统的可用性和兼容性。 2 2 3 引入用户级通信 与上面两种思路所考虑的范围不同,引入用户级通信的着眼点主要在于用户空日j 这 一层。利用库函数以下各层对用户不可见的特点,在库函数中将用户程序的通信流程从 传统的处理流程上牵引到新的处理流程上来。该思路的框架结构示意图如图2 - 4 所示。 应用程序 l 。臻数 圈2 - 4 引入用户级通信的框架结构图 与前面两种思路相比,该思路最大的特点在于将通信的关键路径从核心空间转移到 用户空问,通过在用户空间对通信过程进行处理,从而避免了诸如上下文切换及用户空 间和核心空间之间的数据拷贝等开销,理论上具有实现较高性能的可能,实际研究结果 也表明该思路在性能提升方面存在较明显的效果。如s o v i a 在p e n t i u ml l i 一5 0 0 m h z 和 l i n u x2 2 1 6 搭建的平台上最低延迟为1 0 5 u s ,相同的平台上底层的v i a 最低延迟为 8 5 u s ,与底层的通信系统相比仅增加了2 u s 的开销,而同条件下基于t c p i p 协议栈的 传统s o c k e t 最低延迟则高达5 5 u s 2 9 。 将协议栈从传统的核心空间移至用户空间一方面在性能提升方面存在较大的优势, 另一方面也导致了与传统的实现方式之问存在较大的差异,因而对应用程序的移植提出 了一定的限定条件,在一定程度上削减了原系统的兼容性。i 幺思路所研发的s o c k e t 系统 主要适用于动态编译的应用程序在机群通信系统上的移植情况,对于静态编译的应用程 序而言作用有限;同时该方案在一些问题的处理上如f o r k 问题等 2 0 ,2 9 k l :较困难,需 要付出较大的努力,在一定程度上也限制了该思路的适用性。 综上所述,人们以传统的以太网模式为研究起点,分别从驱动层、系统核心和用户 8 第二章国内外相芙研究 空间三个不同的层次对商效s o c k e t 进行研究,形成三种研究思路,根掘这些研究成果丌 发出了一系列高效s o c k e t 系统,下面分别对上述三种思路中一些具有代表性的舆型系统 进行分析介绍,从中可以进一步看出三种研究思路的特点。 2 3 典型系统分析 在进行高效s o c k e t 研究的过程中人们研发了各种不同的高效s o c k e t 系统,按照研究 思路的切入点不同,这些高效s o c k e t 系统可以分为仿真类、重构类和用户级通信类等三 类,分别对应于仿真以太网设备,重构核心协议栈和引入用户级通信等三种研究思路, 下面分别对这些系统进行介绍。 2 3 1 仿真类系统 1 g m - i p g m i p 是m y r i n e t 公司为其m y r i n e t 网卡开发的以太网仿真驱动系统,是仿真类系统 的典型代表。通过将g m i p 加载到系统中,上层应用可以像使用普通的以太网设备一 样使用底层的高性能网络。 由于g m - i p 对上层核心协议栈改动小,仍然采用非常成熟的t c p i p 协议栈,对应 用程序没有特殊的限定,具有很高的稳定性和可用性,同时在兼容性和安全性方面也达 到了较高的目标。 但正如前面分析仿真以太网设备思路的特点时所指出的一样,仿真类系统由于对原 有系统改动小,因而应用在移植后实际所获得的性能远低于人们所预期的通信性能,容 易造成高性能网络性能的大量浪费,g m - i p 也存在这方面的问题,表2 - l 给出了传统应 用在移植后在实际的乒乓测试中所获得性能和底层硬件设备的物理性能之间的对比数 据,底层硬件物理延迟高达6 3 1 a s ,应用通过t c p 协议测得实际性能为3 2 9 s ,通过u d p 协议实际测得的性能3 l p s 。从中可以看出传统应用实际所获得的通信性能与底层硬件所 提供的通信性能之间存在较大的差距 表2 - 1g i 卜i p 中软件开销对比【3 1 】 总线类型 单向测试延迟物理延迟 软件开销百分比 t c p 3 2 1 a s 8 0 3 2 p c i 6 4 c 6 3 a s u d p3 1 u s7 9 6 8 t c p 3 4 1 t s 8 1 4 8 p c l 6 4 b 6 3 p s u d p 3 2 p s 8 0 3 2 9 机群环境中高效s o c k e t 研究 2 3 2 重构类系统 1 t r a p e z e t r a p e z e 系统是d u k e 大学于1 9 9 8 年研发的一套高效s o c k e t 系统,是第一种研究思 路中典型代表,主要思路是针对机群通信的特点围绕着传统的t c p i p 协议栈进行了一 系列的优化,包括零拷贝( z e r oc o p y ) 、减少校验和( c h e c k s u mo f f l o a d i n g ) 、消息流水 ( m e s s a g ep i p e l i n i n g ) 和中断整合( i n t e r r u p ts u p p r e s s i o n ) 等技术 2 1 1 。为了最大程度地 提高通信性能,t r a p e z e 不仅采取了f r e e b s d 4 0 的系统内核,该内核是业界公认的t c p i p 协议栈效率最高的f r e e b s d 4 0 的内核,而且t r a p e z e 在网卡固件部分还采取了特制的硬 件设备,这些措施在提高系统的性能方面取得了一定的成果,在5 0 0m h z 的c o m p a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2.1 口算除法(1)(教案)-2024-2025学年三年级下册数学人教版
- 第三单元 第1课时 数数、数的组成(一)(教学设计)一年级数学下册同步高效课堂系列(人教版2024)
- 2025年中考数学试题分类汇编:概率(6大考点55题) (第1期)原卷版
- 单元4 日常生活中常见的材料教学设计-2025-2026学年初中化学仁爱科普版九年级下册-仁爱科普版2012
- 2025年中考化学试题分类汇编:科学探究题(第1期)原卷版
- 第8课 初识Python教学设计-2025-2026学年小学信息技术(信息科技)六年级上册青岛版(六三制)
- 2025年高考全国一卷数学试题(解析卷)
- 2025常规商品进口合同
- 向日葵趣味题目及答案
- 2025年江西省中考生物试题(含答案)
- 2025年全国企业员工全面质量管理知识竞赛题及参考答案
- 2025年《中华人民共和国民法典》网络知识竞赛100题题库(含答案)
- 2025四川省公安厅招聘辅警(448人)笔试参考题库附答案解析
- 《非物质文化遗产概论(第三版)》全套教学课件
- 2025新疆天泽和达水务科技有限公司部分岗位社会招聘28人笔试备考题库及答案解析
- 2025年中学生守则及中学生日常行为规范
- 注册安全工程师考试建筑施工(初级)安全生产实务试题及解答
- 2025年城镇燃气条例竞赛题库
- 展厅预算装修方案(3篇)
- 供电公司保密培训课件
- 供电外协人员管理办法
评论
0/150
提交评论