- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于共享内存多核虚拟机系统中虚拟机间通信
基于共享内存多核虚拟机系统中虚拟机间通信 摘要虚拟化技术已越来越多的应用在各种场合,在一些应用场景下特别是服务器整合应用场景下,对虚拟机系统中各个虚拟机间通信能力有着更迫切的要求。目前在Xen代表的虚拟系统中,虚拟机间基于共享内存的通信不仅要经过多次内存拷贝而且虚拟机间的切换也需要很大的性能开销。本文在深入研究的基础上提出一种基于共享内存和核间中断的多核虚拟机系统中虚拟机间的通信方式,实验证明该通信方式具有较高的带宽和性能。 【关键词】虚拟化 VM间通信 核间中断 Xen多核 1 Xen中虚拟机间通信方式 本文中所讨论的Xen虚拟机系统中虚拟机间通信方式均是基于共享内存技术的,XenSocket是具有高吞吐率的虚拟机间通信方式,它直接利用通信虚拟机间的循环缓冲区(共享内存)完成数据的传输而绕过了网络协议栈。接收数据的虚拟机分配128K的页面池并请求hypervisor让发送数据的虚拟机共享这些页面,这些页面被用作循环缓冲区,其核心的实现是用一个控制变量的高效数据传输算法,这个控制变量用于指示当前循环缓冲区中可以写多少字节的数据,发送方和接收放维护本地的读写偏移。XenSocket提供了一个单向的通信管道,一旦发送者向共享内存通道写入数据,接受者就可以立马可见发送者写入的数据。XenSocket最核心的操作是bind()和connect(),VM间必须要通过这两个操作完成协商控制信息和建立共享内存,当完成这两步以后数据通道将成功建立并可以开始传输数据。 XenLoop在网络层上拦截虚拟机发出的网络包并通过高速的、虚拟机间共享内存通道而不是通过虚拟的网络接口将网络包传送到同驻在一个物理平台上的其他虚拟机,XenLoop提供了一条高性能的、全透明的虚拟机间通信通道,虚拟机之间通过XenLoop提供的环路通道可以不借助任何第三方组件条件下实现虚拟机之间的透明通信。XenLoop借助已经存在的socket接口和库可以使应用程序不用修改,也不用重新编译和链接便可以在实现XenLoop机制的虚拟机间通信。此外,XenLoop通过实现一个自我包含的Linux内核模块使得不需要客户操作系统和Xen虚拟机监视器的任何修改就可以使用XenLoop。客户虚拟机可以通过XenLoop机制自动发现位于同一物理平台上的其他的VM,并在需要的时候自动与通信对象建立XenLoop通道,这个XenLoop通道绕过了通过Dom0的标准路径。 2 基于核间中断和共享内存相结合的虚拟机间通信方式 2.1 硬件支持 片上多核处理器中多个处理器核之间即是相互独立又是一个相互协作的整体,多核处理器出现就是为了加速程序的运行,提高硬件的性能,而不是将一个程序拆分成多个程序片段来执行,所以多核处理器中的多个处理器核之间在运行多个进程或线程的同时也需要相互的协作和通信;另外多核处理器在启动过程中也需要多个处理器核之间的相互协作,如主核初始化其他核的运行环境并通知其他核进行剩余的系统初始化工作。所以多核处理器在设计之初就考虑到多核处理器上多个处理器核心之间的通信方式,在现在的多核处理器产品中绝大多数都具备核间寄存器和通信功能,如IBM的CELL处理器是款高性能分布式计算机体系结构处理器和国产龙芯3A是一款MIPS体系结构的多核处理器都支持操作系统运行时的处理器核之间的中断和通信。 2.2 框架结构 基于核间中断和共享内存相结合的方式的虚拟机间通信方式框架主要包括虚拟机间通信模块、核间通信模块和共享内存模块三部分。虚拟机间通信模块位于客户操作系统中,其包括中断处理模块和提供给应用程序的通信接口,提供给应用程序的接口是通过向操作系统中添加系统调用实现的。在系统调用内部会先判断消息传递的大小,若在3个或3个字节以内将采用核间通信寄存器传输,若消息内容大小大于3个字节则采用共享内存传输数据,即虚拟机间通信是采用核间通信寄存器还是采用共享内存对于应用程序来说是透明的。若采用核间寄存器通信则调用VMM中的核间通信模块中的通信接口,采用共享内存作为通信介质则调用共享内存模块中的通信接口。 共享内存模块是相对独立的一个模块,考虑到虚拟机间通信频繁和通信效率,设计的高速虚拟机间通信系统中对共享内存的访问和申请为涉及到内存授权表等安全性限制,而是从虚拟机系统划分出一块单独的内存作为虚拟机间通信使用的共享内存,若采用Xen系统中基于内存授权表和页面反转等机制来实现和约束基于共享内存的虚拟机通信将在申请和访问共享内存需要经过VMM的安全性检查和页面授权工作,可能还会涉及到页面反转等操作,最后影响基于共享内存通信的通信效率。共享内存模块包括记录已分配的共享内存块链表、尚未分配的闲置的共享内存块链表和对共享内存块链表互斥访问的自旋锁以及基于核间中断的同步模块。
您可能关注的文档
- 坚持党群众路线 深刻认识村务公开和民主管理意义及对策.doc
- 坚持党群众路线,建设学习型、服务型、创新型高校院(系)党委.doc
- 坚持党群众路线不断提高党校党建科学化水平.doc
- 坚持弘扬“两个务必” 深入践行党群众路线.doc
- 坝上草原,男人“猎场”.doc
- 垂盆草醇提物抑制HepG2细胞STAT―3信号通路诱导细胞凋亡研究.doc
- 坡屋顶在住宅建筑中设计应用处理方法研究.doc
- 垂直专业化与中国制造业产业升级实证分析.doc
- 垃圾焚烧锅炉助燃技术研究.doc
- 垃圾邮件危害与防范.doc
- 人教部初二八年级数学上册-最短路径问题-名师教学PPT课件.ppt
- 人教部初二八年级数学下册-平行四边形复习课-名师教学PPT课件-(2).pptx
- 人教部初二八年级数学上册-多边形的内角和-名师教学PPT课件-(2).ppt
- 小学四年级语文上册人教版部编版-理解文言文中实词和虚词的意思-名师教学课件PPT(1).ppt
- 四年级数学上册人教版---平行与垂直---名师教学课件PPT(1)(6).ppt
- 人教部初三九年级数学上册-24.2.2直线与圆的位置关系-名师教学PPT课件-(3).ppt
- 人教部初一七年级数学下册-二元一次方程组的解法-名师教学PPT课件-(2).ppt
- 人教部初一七年级数学下册-7.2用坐标表示平移-名师教学PPT课件.pptx
- 人教部初二八年级数学上册-13.3.1等腰三角形-名师教学PPT课件-(2).ppt
- 人教部初一七年级数学下册-8.2消元-解二元一次方程组-名师教学PPT课件.ppt
最近下载
- 2024深信服PT1-aDesk认证实验考试.doc VIP
- 儿童呼吸道感染病原学诊断技术与临床诊治新进展题库答案-2025年华医网继续教育.docx VIP
- 超凡的一生(威廉·玛利安·伯兰罕传记)第一册.doc VIP
- 休克病人的观察与护ppt课件.pdf VIP
- 现代电气工程师实用手册 下册_13589954.pdf VIP
- 中国修船价格指引(2016版)红本中文版e(21003).pdf VIP
- 2025年门窗企业产业链上下游合作合同.docx
- VW 10126-2-EN 利用坐标系进行测量技术平面点分布原则 .pdf VIP
- 专题:匀变速直线运动的推论教学设计-2023-2024学年高一上学期物理人教版(2019)必修第一册.docx VIP
- 机电设备安装工程工程质量管理制度.docx
文档评论(0)