(计算机科学与技术专业论文)xen硬件虚拟化域间通信优化的研究.pdf_第1页
(计算机科学与技术专业论文)xen硬件虚拟化域间通信优化的研究.pdf_第2页
(计算机科学与技术专业论文)xen硬件虚拟化域间通信优化的研究.pdf_第3页
(计算机科学与技术专业论文)xen硬件虚拟化域间通信优化的研究.pdf_第4页
(计算机科学与技术专业论文)xen硬件虚拟化域间通信优化的研究.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(计算机科学与技术专业论文)xen硬件虚拟化域间通信优化的研究.pdf.pdf 免费下载

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

文档简介

k t h er e s e a r c ho fi n t e r d o m a i nc o m m u n i c a t i o no p t i m i z a t i o nu n d e rx e n h a r d w a r e a s s i s t e dv i r t u a l i z a t i o n b y q ux i n b e ( h u n a nu n i v e r s i t y ) 2 0 0 8 at h e s i ss u b m i t t e di np a r t i a ls a t i s f a c t i o no ft h e r e q u i r e m e n t sf o rt h ed e g r e eo f m a s t e ro fe n g i n e e r i n g l n c o m p u t e ra p p l i c a t i o n i nt h e g r a d u a t es c h o o l o f h u n a nu n i v e r s i t y s u p e r v i s o r a s s o c i a t ep r o f e s s o rc h e nh a o m a y ,2 0 1 1 3 伽836 0川9 _舢y 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的 研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均 已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名: 螭务 日期:乃f f 年期歹口目 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数据库进行 检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密团。 ( 请在以上相应方框内打“ ) 作者签名: 导师签名: 日期:厶“年歹月;了日 日期:v l1 年岁月3 口日 参沌 螭砂 x e n 硬件虚拟化域问通信优化的研究 摘要 虚拟化技术最早起源与i b m 大型机,随着互联网及i t 业的不断发展,产生了不同 的虚拟化技术,如服务器虚拟化、网络虚拟化、微处理器虚拟化、文件虚拟化、存储虚 拟化等技术。近年来,虚拟机技术在服务器整合、分布式系统安全等领域运用的越来越 多。然而,虚拟机的独立性和相互隔离特性使得同一物理机器上虚拟机之问的通信与数 据传输性能大打折扣。在现有的虚拟机技术中,域间通信是通过标准的虚拟网络加来 完成的,网络数据包的传输需要从发送端虚拟网卡发送到d o m 0 中的网络设备仿真模块, 然后再从d o m 0 发送至接收端虚拟网卡。在此传输过程中数据包要经过多个域的处理, 并且c p u 也要进行多次特权级切换与运行模式切换,这是域间通信性能受到损失的主 要原因。因此,本文针对x e n 硬件虚拟机域间通信性能低下的问题提出了一个域间通信 优化模型,通过共享内存的方式在两个通信的硬件虚拟机之问建立直接数据传输通道来 进行数据传输。 本文首先介绍了虚拟机技术的相关背景和研究现状,概述了部分必要的x e n 关键技 术、机制,详细分析了x e n 硬件虚拟机网络i o 虚拟化模型和域间通信的工作过程,并 从中总结出域间通信性能损失的原因。 然后,结合硬件虚拟机域间通信性能损失的原因和其硬件虚拟化的特点,提出了基 于共享内存进行数据传输的优化模型。优化模型的特点在于:数据传输不通过虚拟网络 i o ,而是通过域间共享内存的方式进行双向数据传输,提高了数据传输的可靠性与效 率;通过域间事件通道机制为数据传输提供管理控制服务,减少了额外开销;在硬件虚 拟机中通过n d i s 中间层驱动提供数据包过滤转发功能,实现数据包从协议栈缓冲区到 域间共享内存的转发;通过x e n s t o r e 统一管理参与域间通信的硬件虚拟机的相关信息, 实现域间数据传输通道的自动建立机制。 最后,通过实验对比,从网络传输带宽、延迟以及域间通信过程中产生的d o m a i n 切换开销等方面验证域间通信优化模型较之原有通信模型在性能上的提升。 关键词:虚拟机;x e n 硬件虚拟化;域间通信 n 硕j j 学位论文 a b s t r a c t v i r t u a l i z a t i o n t e c h n o l o g yo r i g i n a t e s f r o mt h ei b mm a i n f r a m e ,t h ed e v e l o p m e n to f i n t e r n e ta n di t i n d u s t r yb r i n g s d i f f e r e n tv i r t u a l i z a t i o n t e c h n o l o g i e s ,s u c h a ss e r v e r v i r t u a l i z a t i o n ,n e t w o r kv i r t u a l i z a t i o n ,m i c r o p r o c e s s o rv i r t u a l i z a t i o n ,f i l es y s t e mv i r t u a l i z a t i o n , a n ds t o r a g ev i r t u a l i z a t i o nt e c h n o l o g i c i nr e c e n ty e a r s ,w i t ht h ed e v e l o p m e n to ft h ei n t e r a c t , v i r t u a lm a c h i n et e c h n o l o g yi su s e dm o r ea n dm o r ei nt h es e r v e rc o n s o l i d a t i o n ,s e c u r i t y s y s t e m so fd i s t r i b u t e da n do t h e ra r e a s h o w e v e r , t h ev i r t u a lm a c h i n ef e a t u r e st h a tm a k et h e i n d e p e n d e n c ea n di s o l a t e dv i r t u a lm a c h i n e so nt h es a m ep h y s i c a lm a c h i n er e s u l t s t h e c o m m u n i c a t i o na n dd a t at r a n s f e rb e t w e e nt h ep e r f o r m a n c e sg r e a t l yr e d u c e d e x i s t i n gv i r t u a l m a c h i n et e c h n o l o g y , c o m m u n i c a t i o ni sc o m p l e t e dt h r o u g ht h es t a n d a r di n t e r - d o m a i nv i r t u a l n e t w o r kf o ,t h et r a n s m i s s i o no fn e t w o r kp a c k e t sf r o mt h es e n d e rn e e d st os e n dt ot h ev i r t u a l n e t w o r kc a r di nd o m on e t w o r kd e v i c es i m u l a t i o nm o d u l e ,a n dt h e nf r o mt h ed o m 0s e n tt o t h er e c e i v e rt h ev i r t u a lc a r d i nt h i s p a c k e tt r a n s m i s s i o np r o c e s st og ot h r o u g hm u l t i p l e d o m a i n sp r o c e s s i n g ,a n da l s oc o n d u c t e dan u m b e ro fc p up r i v i l e g el e v e ls w i t c ha n d o p e r a t i o nm o d es w i t c h i n g ;t h i si st h em a i nr e a s o n sf o rs u b j e c tt oi n t e r - d o m a i nc o m m u n i c a t i o n p e r f o r m a n c el o s s t h e r e f o r e ,t h i sd o m a i nf o rx e nv i r t u a lm a c h i n ec o m m u n i c a t i o nb e t w e e n t h eh a r d w a r ep r o b l e m so fl o wp e r f o r m a n c ep r o p o s e dai n t e r d o m a i nt r a f f i co p t i m i z a t i o n m o d e l ,c o m m u n i c a t i n gd i r e c t l yb e t w e e nt h ed a t at r a n s m i s s i o nc h a n n e lf o rd a t at r a n s m i s s i o n b ys h a r i n gm e m o r yh a r d w a r ei nt h et w ov i r t u a lm a c h i n e s f i r s t ,t h i sp a p e ri n t r o d u c e st h eb a c k g r o u n da n dc u r r e n tr e s e a r c ho fv i r t u a lm a c h i n e t e c h n o l o g y , s u m m a r i z e st h en e c e s s a r yk e yt e c h n o l o g i e sa n dm e c h a n i s m so fx e n ,a n a l y z e st h e d e t a i lo ft h ex e nn e t w o r kh a r d w a r ei ov i r t u a l i z a t i o nm o d e la n dw o r k i n gp r o c e s so ft h e i n t e r - d o m a i nc o m m u n i c a t i o n ,a n ds u m su pt h er e a s o n so fi n t e r - d o m a i nc o m m u n i c a t i o n p e r f o r m a n c el o s s t h e n ,t h i sp a p e rc o m b i n e st h er e a s o no fi n t e r - d o m a i nc o m m u n i c a t i o np e r f o r m a n c el o s s b e t w e e nh a r d w a r ev i r t u a lm a c h i n e sw i t ht h ec h a r a c t e r i s t i c so fi t sh a r d w a r ev i r t u a l i z a t i o n , p r o p o s e dd a t at r a n s f e ro p t i m i z a t i o nm o d e lb a s e do ns h a r e dm e m o r y o p t i m i z a t i o nm o d e lh a s t h ef o l l o w i n ga d v a n t a g e :d a t at r a n s m i s s i o ni sn o tt h r o u g ht h ev i r t u a ln e t w o r ki o ,b u tb yw a y o fi n t e r - d o m a i nb i - d i r e c t i o n a ls h a r e dm e m o r yd a t at r a n s f e r , i m p r o v e dd a t at r a n s m i s s i o n r e l i a b i l i t ya n de f f i c i e n c y ;r e d u c e dt h eo v e r h e a dt h r o u g ht h em e c h a n i s mo fi n t e r - d o m a i ne v e n t c h a n n e lp r o v i d e sf o rd a t at r a n s m i s s i o nm a n a g e m e n ta n dc o n t r o ls e r v i c e s ;i nt h eh a r d w a r e v i r t u a lm a c h i n ep r o v i d e df i l t e r i n gf u n c t i o no fd a t ap a c k e t sf r o mt h ep r o t o c o ls t a c kb e t w e e n i i i x e n 硬件虚拟化域问通信优化的研究 t h es h a r e dm e m o r yb u f f e rt ot h ed o m a i nf o r w a r d i n gb yn d i si n t e r m e d i a t ed r i v e rf o r w a r d st h e p a c k e t ;x e n s t o r eu n i f i e dm a n a g e m e n tt h r o u g hp a r t i c i p a t i o ni ni n t e r - d o m a i nc o m m u n i c a t i o n v i r t u a lm a c h i n eh a r d w a r ei n f o r m a t i o nt oa c h i e v ed a t at r a n s m i s s i o nc h a n n e lb e t w e e nt h e d o m a i no fa u t o m a t i cm e c h a n i s m s f i n a l l y , t h ee x p e r i m e n tt e s t st h ei n t e r - d o m a i nc o m m u n i c a t i o nb a n d w i d t h ,d e l a y , d o m a i n s w i t c ho v e r h e a da n dc p uu t i l i z a t i o n ,a n dp r o v e st h a tt h eo p t i m i z a t i o nm o d e lh a sm o r eb e t t e r p e r f o r m a n c et h a nt h eo r i g i n a lm o d e l k e yw o r d s :v i r t u a lm a c h i n e ;x e n ;h a r d w a r e a s s i s t e dv i r t u a l i z a t i o n ;i n t e r - d o m a i n c o m m u n i c a t i o n 硕l j 学位论文 目录 学位论文原创性声明与论文版权使用授权书i 摘要i i a b s t r a c t i i l 插图索引v i i 第1 章绪论1 1 1 虚拟化技术1 1 2 立题意义4 1 3 国内外研究现状4 1 4 本文组织结构5 第2 章虚拟化技术与x e n 关键机制7 2 1 虚拟化系统介绍7 2 2 体系结构9 2 3x e n 半虚拟化关键机制1 3 2 4x e n 硬件虚拟化1 5 2 5 本章小结1 6 第3 章硬件虚拟机域间通信性能分析1 7 3 1 半虚拟化网络通信过程1 7 3 2 硬件虚拟化网络通信过程1 8 3 3 性能分析。2 0 3 4 本章小结2 0 第4 章硬件虚拟机域间通信优化模型设计2 2 4 1 硬件虚拟机域间通信优化模型设计思路2 2 4 2 硬件虚拟机中实现半虚拟化机制2 3 4 3 硬件虚拟机域间通信优化模型结构2 4 4 4 功能模块设计2 4 4 4 1d o m 0 管理模块2 5 4 4 2d o m u 管理模块2 6 4 4 3 域间通信通道2 7 4 5 本章小结3 1 第5 章关键技术的实现3 2 5 1 硬件虚拟机半虚拟化技术实现3 2 v x e n 硬件虚拟化域问通信优化的研究 5 1 1 超级调用的实现3 2 5 1 2 事件通道的实现。3 4 5 1 3 授权表的实现3 4 5 2x e n s t o r e 信息管理3 4 5 3 数据包过滤转发3 5 5 4 域问数据通道3 7 5 5 本章小结3 9 第6 章实验分析4 0 6 1 测试环境及平台搭建:4 0 6 2 网络性能测试4 1 6 2 1 吞吐量与延时测试4 1 6 2 2 发送缓冲大小和f i f o 大小对吞吐量的影响4 3 6 3 系统开销测试4 4 6 3 1d o m a i n 切换开销4 4 6 3 2c p u 利用率。4 4 6 4 本章小结4 5 结论4 6 参考文献4 7 j 改谢5 i ) 附录a 攻读硕士学位期间所发表的学术论文目录5 1 附录b 攻读硕士学位期间所参与的项目5 2 硕l j 学位论文 插图索引 图1 1 计算机层次结构2 图1 2v m w a r ew o r k s t a t i o n 软件的体系结构。3 图2 1 虚拟机的基本结构7 图2 2v m m 的三种模型8 图2 3x e n 体系结构。9 图2 4 特权解除模型1 1 图2 5i n t e lv t - x 特权级环一1 1 图2 6i n t e lv t - x 的操作模式切换1 2 图2 7 分离设备驱动模型一1 2 图2 8i o 环1 3 图3 1 网络前后端驱动模型1 8 图3 2 硬件虚拟机问网络通信示意图1 9 图4 1 优化模型体系结构一2 4 图4 2x e n s t o r e 设计2 6 图4 3f i f o 共享内存j 一2 8 图4 4 域间通道建立过程2 9 图4 5 数据传输过程。3 0 图5 1 超级调用页3 3 图5 2w i n d o w s 网络组件结构图3 5 图5 3 网络数据包在驱动层次间处理流程3 6 图5 4 建立f i f o 共享内存页3 8 图5 5 映射f i f o 共享内存3 9 图6 1 测试结构模型。4 0 图6 2 优化模型和原始模型吞吐量测试结果一4 2 图6 3 发送缓冲对吞吐量的影响4 3 图6 4f i f o 大小对吞吐量的影响4 4 图6 5c p u 利用率对比4 5 v i i 硕i :学位论文 1 1 虚拟化技术 第1 章绪论 1 虚拟化技术的发展历史 i b m 最早发明了一种操作系统虚拟化技术【1 1 ,允许用户在一台主机上运行多个操作 系统,让用户尽可能充分的利用昂贵的大型机资源。在随后的1 0 年间,i b m 以及其它 几家公司陆续开发了一批含有虚拟化技术的产品,比如型号为m o d e l6 7 的s y s t e m 3 6 0 主机,可以通过虚拟机监视器( v m m ) 虚拟所有硬件接口。之后,i b m 更是认识到虚 拟化技术的重要性,i b m 3 6 0 4 0 ,i b m 3 6 0 6 7 ,以及v m 3 7 0 虚拟计算系统相继问世。这 些机器在当时都具有虚拟机功能,它们通过v m m 在物理硬件之上生成了很多可以运行 独立操作系统软件的虚拟机。用户能够在任何一个配置这些虚拟系统的环境中运行当时 流行的任何一种操作系统,进而使昂贵的大型机资源得到充分利用。 随着x 8 6 处理器性能的提升和应用的普及,虚拟化技术的发展已经惠及x 8 6 架构【2 j 。 到了2 0 世纪9 0 年代末期,v m w a r e l 3 j 等厂商率先将虚拟化技术引入到x 8 6 服务器应用 中,使得虚拟化应用的前景更加广阔。在这种纯软件的“全虚拟化”模式中,每个客户 操作系统( g u e s to s ) 获得的关键平台资源都要由v m m l 4 。5 】控制和分配,以避免发生冲 突。为解决这个问题,引出了一种新的虚拟化模式,即在x e n l 6 j 项目中出现的半虚拟化 技术。半虚拟化技术的实施通过对g u e s to s 进行代码级修改,从而为操作系统提供了 新的接口,使得g u e s to s 获得额外的性能和高扩展性。目前,虚拟化技术的发展已经 走到了硬件支持阶段,使得半虚拟化需要修改操作系统的障碍得以排除。处理器厂商 i n t e l 和a m d 都在硬件级提供了对虚拟化的支持,比如i n t e l 的v t i m j ( v i r t u a l i z a t i o n t e c h n o l o g y ) 技术和a m d 的s v m l 9 】( s e c u r ev i r t u a lm a c h i n e ) 技术。i n t e l 的v t 技术提 供了一个名为v m xr o o t 的新特权级,专门用于运行v m m l l o j ,并对标准x 8 6 架构进行 了优化。在满足了对c p u 半虚拟化和二进制转换技术的需求后,硬件已经能支持多种 未经修改的g u e s to s 直接运行,使得v m m 的设计得到极大简化,进而使得v m m 能 够按通用标准进行编写,减少了v m m 运行的系统开销。虚拟化技术在服务器和p c 平 台都已经得到了广泛应用,随着信息技术的飞速发展,网格、云计算【1 1 l 的提出,虚拟化 技术将迎来更广阔的前景。 2 虚拟化技术的分类及实现层次 为了满足不同的功能需求,目前已出现了许多不同类的虚拟化解决方案,这些虚拟 化系统呈现出不同的特性。图1 1 所示为计算机系统设计采用的分层结构。 x c n 硬什虚拟化域问通信优化的研究 应用程序 彳甚用编程接口。a p 。, 函数库 彳意统调用。s y s c a m 操作系统 彳雇令集。献, 硬件设备 图1 1 计算机层次结构 理论上,虚拟化技术采用的抽象层次可以在图1 1 所示的几个层次中自由选取。而 实际上,选择的多样性,就决定了虚拟化技术的多样性。结合当前主流的虚拟化解决方 案和计算机系统结构,将虚拟化系统分为以下几类:指令级虚拟化、硬件级虚拟化、操 作系统级虚拟化、编程语言级虚拟化、程序库级虚拟化。 3 x 8 6 的虚拟化技术和虚拟机简介 根据实现方式以及是否需要修改操作系统内核,可将x 8 6 平台下的虚拟化技术分为 全虚拟化( f u l lv i r t u a l i z a t i o n ) 和半虚拟化( p a r a v i r t u a l i z a t i o n ) 两种。2 0 0 5 年i n t e l 发布 了处理器级的虚拟化技术,x 8 6 的两大生产商a m d 和i n t e l 分别扩展了x 8 6 的指令集, 于是有了第三种选择:硬件虚拟化( h a r d w a r ev i r u a l i z a t i o n ) 技术。尽管硬件虚拟化同 全虚拟化一样不需要修改g u e s to s 的内核,但是由于它在c p u 虚拟化中引入了全新的 技术,还是将其单列出来叙述。 1 ) v m w a r e v m w a r e l 3 j 是e m c 公司旗下独立的软件公司,主要研究在工业领域应用的大型主机 级的虚拟技术计算机。v m w a r e 虚拟机系统主要由5 部分组成,如图1 2 所示:运行于 硬件层之上的宿主系统( h o s to s ) 和v m m 、运行在v m m 上的客户机系统( g u e s to s ) 、 h o s to s 中的v m x 驱动模块以及h o s t a p p 中的v m a p p 模块。g u e s to s 访问f o 时, 首先陷入v m m ,v m m 将请求交予v m x 驱动,经过v m x 驱动转换后变成h o s to s 请 求,然后v ma p p 获得该请求并转换成更高级的系统调用,最后经过h o s to s 驱动硬件 设备执行。 2 ) v i r t u a lp c v i r t u a lp c 1 2 】采用全虚拟化技术实现,可以模拟x 8 6 机器,并在其中安装如m s d o s 和w i n d o w s 等操作系统。 v i r t u a lp c 与v m w a r e 类似,同样采用伞虚拟化技术,为其上的虚拟机模拟包括主 硕l j 学位论文 板、内存、显卡等在内的硬件。在虚拟网卡上与v m w a r e 不同。v m w a r e 通过虚拟的网 卡实现网络共享,而v i r t u a lp c 通过在真实网卡上绑定v i r t u a lp ce m u l a t e ds w i t c h 服务 实现网络共享。同时v i r t u a lp c 也不支持s c s i 设备。一旦配置完毕,v i r t u a lp c 将无 法改变虚拟机所拥有的硬件设备。 虚拟机l g u e s ta p p g u e s t o s 主机a p p - 卯d a p p 主机o s 、r j v 盯; m 抛列 v m m 1 1r1r i 磁盘l l 硬件ll 内存fl c p u l 图1 2v m w a r ew o r k s t a t i o n 软件的体系结构 3 ) q e m u 和k v m q e m u 1 3 】是一款模拟指令集的开源虚拟机系统,能够模拟x 8 6 、a m d 6 4 、m i p s 以 及p o w e r p c 等多种平台;q e m u 经过加速器几乎能达到真实硬件平台的速度,因此许 多虚拟机系统直接嵌入q e m u ,以简化虚拟硬件的实现,k v m 就是一个典型例子。 k v m l l 4 】是一个在学术界广泛使用的开源虚拟机系统,自l i n u x2 6 2 0 后k v m 被写 入l i n u x 内核,成为l i n u x 的一部分,可以使用l i n u x 的调度器和内存管理。l i n u x 进程 一般有两种模式:用户模式和系统模式;k v m 的加入为l i n u x 进程引进了另一种新的模 式客户模式;客户模式用来执行g u e s to s 代码。l i n u x 中加载k v m k o 模块来启动 k v m ,该模块创建一个d e v k v m 设备来实现客户模式。 4 ) x e n x e n 6 l 源自一个剑桥大学计算机实验室主持的开源虚拟化项目,该项目开始于2 0 0 2 年;起初,x e n 基于3 2 位x 8 6 体系结构设计并开发,目标是支持多个x e n 操作系统虚 拟机的服务器应用;2 0 0 3 年1 0 月论文c x e na n dt h e a r to f v i r t u a l i z a t i o n ) ) 的发表引起了 广泛的关注;2 0 0 4 年4 月,x e n 开发小组正式发布x e n1 0 ,并在同年6 月举办了第一 届x e n 技术峰会;随着开发速度进一步加快和功能的完善,x e n 在一些商业领域也开始 涉及,开始走向产品化。 x e n 最大的特点是半虚拟化,半虚拟化修改客户操作系统,使之与x e n 的a p i 融合, 使用软件的方法解决了x 8 6 体系结构对虚拟化技术的兼容性问题;x e n 半虚拟化,尤其 在执行i o 指令时,比全虚拟化有更高的效率。x e n 也支持硬件虚拟化技术,在s v m 和v m x 技术的支持下,客户系统可以不加修改的运行。 随着x e n 的发展,其应用范围也逐渐广泛,主要有以下应用:服务器整合、内核丌 3 x e n 硬件虚拟化域问通信优化的研究 发、集群运算、提供试验床和实时迁移【1 5 】。 1 2 立题意义 当前,计算机系统的处理能力快速增强资,源规模不断扩张,资源种类同益丰富, 应用需求也灵活多样。虚拟化技术能够动态组织多种计算资源,实现透明化的可伸缩计 算系统架构,从而可以灵活构建满足多种应用需求的计算环境,提高计算资源的使用效 率。虚拟机( v m ) 迅速进入到数据中心,企业服务平台,高性能计算( h p c ) 集群, 甚至终端用户桌面环境【1 6 j 。 虚拟化技术经常应用于服务器整合中。整合服务器能够最大限度地减少能源丌销, 增加硬件资源的利用率,降低企业运行成本。服务器整合通常通过在一台物理机器上运 行多个虚拟机来实现,不同层次的服务通常运行在不同的虚拟机中。这样一来运行在同 一台物理机器之上的虚拟机之间的通信将十分频繁。x e n 虚拟机在提供高度的隔离性的 同时,也不可避免地导致了各个域之间的通信产生了极大的额外开销。x e n 中两个不同 的g u e s td o m a i n 进行通信时,首先要将请求发送到g u e s to s 中的前端驱动,这要调用 s o c k e t 接口,通过t c p i p 协议栈;然后g u e s to s 的前端驱动和d o m a i n 0 中的后端驱 动进行通信,借助d o m a i n 0 上的原生驱动来完成请求的转发和处理,这就带来了很大 的性能丌销。在x e n 3 0 引入了硬件虚拟化技术,使其可以支持不修改内核的g u e s to s , 为虚拟化提供了更广阔的应用平台。但是,对于硬件虚拟机( h v m ) 来说,域间通信 性能的损失更加明显【1 7 j 。 在x e n 应用中,域问通信性能的损失,在一定程度上降低了硬件资源的利用率,造 成有限的硬件资源的浪费,也使得虚拟化系统的效率下降。目前,针对x e n 硬件虚拟化 域问通信的优化的研究资料和文献较少,本文研究如何在x e n 硬件虚拟化域中实现半虚 拟化机制,并通过x e n 半虚拟化机制来对硬件虚拟化域间通信的优化进行了研究,对于 运行在x e n 硬件虚拟化域上的闭源系统( 如w i n d o w s ) 的性能优化提供了有益的参考, 具有较好的实用价值。 1 3 国内外研究现状 目前,很多针对域间通信优化的研究都只是在性能上加以提高,或者有的是针对用 户层透明性来进行优化,而性能的提升又不足。在x e n 平台上,用户可以透明地使用标 准的t c p i p 网络套接字来进行通信,但是从发送端虚拟机出去的所有网络包都通过 n e t f r o n t n e t b a c k 前后端驱动接口重定向到了d o m 0 ,然后通过d o m 0 到达目的虚拟机。 这样一来就导致了性能的损失。现在已有研究针对优化x e n 中标准的前后端驱动网络通 信性能,但并非特别针对同物理机器上域间网络通信而优化,性能提升有限【1 8 】。 4 顾i :学位论义 另外,x e n s o c k e t l l 9 1 ,i v c 捌,和x w a y l 2 1 l 等针对同一物理机器上的域问通信的优化进 行了优化。它们有一个共同点,都是运用了x e nh y p e r v i s o r 提供的共享内存来优化网络 数据传输的路径,在相互通信的两个虚拟机之间建立直接通信的通道,这样比通过d o m 0 来通信在效率上有很大的提高。但是,以上的研究成果虽然在域间通信的性能上有所提 高,但是却给用户层或者是内核层的使用透明性上带来了损失。 x e n s o c k e t 是两虚拟机之间一种基于共享内存的单向通信管道。它定义了一套新的 s o c k e t 接口,包括建立连接、接收发送数据包等系统调用,同时向下也向下层的遇见通 信共享内存定义了一套接口。所以,用户层的应用程序都需要重新修改来调用x e n s o c k e t 定义的接口。由于x e n s o c k e t 不支持自动发现和虚拟机迁移,它的应用仅仅局限于单纯 支持域间通信的虚拟机之上。x e n s o c k e t 主要应用于要求高吞吐率的分布式流系统。 i v c 是一个用户层通信库,用于h p c 应用程序信息传输的,通过同一台物理机器上 共存的虚拟机之间的共享内存提供通信。不同于x e n s o c k e t ,i v c 并没有重新定义s o c k e t 接口,只是提供了一套和s o c k e t 一样的用户层a p i 。i v c 支持虚拟机迁移,但是对于用 户空间来说并不是完全透明的,通过在用户层代码中调用相应的回调函数,i v c 可以在 虚拟机迁移之前保存在共享内存的状态。 - x w a y 为用户提供了透明的面向t c p 连接的域间通信接口,它通过在s o c k e t 层拦截 t c p 数据包而实现。但是它对虚拟机动态迁移的支持不够,目前还在完善之中,同时, 它并不支持同物理机器虚拟机的自动发现机制。x w a y 只支持客户操作系统为l i n u x 的 虚拟机,并且由于l i n u x 并没有提供针对t c p 层透明的过滤h o o k s 机制,x w a y 仍需要 对核心操作系统的网络协议栈的实现进行一定的修改。 x e n 硬件虚拟化技术才刚刚发展起来,采用硬件辅助虚拟化技术后,虚拟机的体系 结构和处理方式发生了很大的改变,目前针对硬件虚拟机性能优化的研究主要集中在为 硬件虚拟机提供半虚拟化驱动,使得硬件虚拟机也能像半虚拟化虚拟机一样使用x e n 的 前后端驱动模型,以此来提升硬件虚拟机的i o 性能。上文中对x e n 域问通信的研究全 部是基于客户虚拟机为半虚拟化的情况,但是目前还没有基于共享内存的针对硬件虚拟 化域间通信优化的研究。 1 4 本文组织结构 论文共分为六章,各章节安排如下: 第1 章为绪论,对虚拟化技术的历史和发展进行简单介绍,并对虚拟化技术的分类、 实现和x 8 6 虚拟机技术进行叙述。同时阐述了立题研究的意义,然后介绍当前国内外针 对x e n 虚拟机域间通信优化的研究。 第2 章介绍x e n 的体系结构、相关的概念和x e n 系统半虚拟化技术的基本原理, 包括x e nh y p e r v i s o r 体系结构和x e n 下c p u 、内存和i o 的虚拟化;随后详细介绍了 5 x e n 硼件虚拟化域问通信优化的研究 x e n 中使用的半虚拟化的关键技术,包括超级调用、事件通道、授权表和i o 虚拟化中 的x e n s t o r e ;最后对x e n 硬件虚拟化进行介绍。 第3 章主要从泛虚拟化、硬件虚拟化i o 虚拟化的不同之处对比、分析了x e n 中半 虚拟化虚拟机和硬件虚拟机的域间通信的过程,并从中得出了硬件虚拟机域间通信性能 损失的原因。 第4 章从域间通信性能损失的原因出发,提出了域间通信优化系统的设计。优化系 统设计的两个基本原则是对应用程序的透明和性能的提高。 第5 章从代码的层面详细介绍了域间通信优化系统的实现。 第6 章为域间通信优化系统的实验与性能测评。 6 硕i :学位论文 第2 章虚拟化技术与x e n 关键机制 2 1 虚拟化系统介绍 1 虚拟机与虚拟机监视器 虚拟机是指在一个硬件平台上模拟多个独立的和实际硬件相同的虚拟硬件系统,在 每个虚拟硬件系统上都可以运行不同的操作系统,即客户操作系统( g u e s to s ) 。这些 g u e s to s 通过虚拟机监视器v m m 访问实际的物理资源,如图2 1 所示。图中,g u e s t a p p 为客户应用程序。 g u e s ta p p g u e s t o s 虚拟硬件 g u

温馨提示

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

评论

0/150

提交评论