[发明专利]一种基于多核无锁环形缓冲区的共生虚拟机通信方法有效

专利信息
申请号: 201611245529.5 申请日: 2016-12-29
公开(公告)号: CN106790599B 公开(公告)日: 2019-06-28
发明(设计)人: 任怡;游资奇;吴庆波;戴华东;谭郁松;刘仁仕;阳国贵 申请(专利权)人: 中国人民解放军国防科学技术大学
主分类号: H04L29/08 分类号: H04L29/08;H04L12/24;G06F9/455
代理公司: 湖南兆弘专利事务所(普通合伙) 43008 代理人: 赵洪;谭武艺
地址: 410073 *** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 多核 环形 缓冲区 共生 虚拟机 通信 方法
【说明书】:

发明公开了一种基于多核无锁环形缓冲区的共生虚拟机通信方法,实施步骤包括:预先在共享内存中申请固定大小的缓冲区,将所述缓冲区等分划分为元数据区域,指定一个元数据区域存储缓冲区的描述信息以及缓冲区的标识变量,将其余的元数据区域在逻辑上组织成环形得到多核无锁环形缓冲区;当共生虚拟机需要通信时,通信发送方作为写者,往多核无锁环形缓冲区中写通信数据,且同一时刻只允许一个写者执行写操作;通信接收方作为读者,读者读取多核无锁环形缓冲区中的通信数据,且多个读者可并发执行读取操作。本发明具有能够支持接收方高效并发读取,缓冲区读写并发性好,共生虚拟机通信效率高、能够充分利用处理的多核处理性能的优点。

技术领域

本发明涉及网络虚拟化技术的共生虚拟机的通信加速技术,具体涉及一种基于多核无锁环形缓冲区的共生虚拟机通信方法。

背景技术

当前,云计算已经成为了学术界和工业界的研究热点。作为云平台的重要支撑技术之一,虚拟化技术提供了资源隔离、容错、提高资源利用率等诸多重要功能。Xen是目前主流的开源虚拟化平台之一。在Xen平台上,每个虚拟机称为一个域;通常称处于同一台物理机上的虚拟机为共生虚拟机。当前的云计算环境中,硬件水平的提升使得每台物理机上所能容纳的虚拟机数量越来越多,共生虚拟机间通信的频率也越来越高。Xen平台上,任意的两台虚拟机,无论是否存在共生关系,都是使用传统的TCP/IP协议栈进行通信。这种通信方式存在着通信路径长、数据拷贝次数多、虚拟机域切换频繁等问题,因此通信性能存在很大的优化空间。目前一种广泛采用的通信加速思路是:为共生虚拟机之间建立共享内存数据通道,当通信双方是共生虚拟机时,通信数据通过共享内存通道进行交换。由于数据旁路减少了通信路径和数据拷贝次数,同时也避免虚拟机管理器频繁地在多个域之间切换,这种优化思路通常能够大幅度提高通信吞吐率。

大部分共生虚拟机通信优化机制的共享内存数据通道采用环形缓冲区实现。数据通信过程中,发送方是缓冲区的生产者,也是缓冲区的写者;接收方是缓冲区的消费者,也是缓冲区的读者。环形缓冲区的读写过程是一个生产者-消费者模型。图1表示了一个共生虚拟机间采用共享内存环形缓冲区通信加速的示意,虚拟机A和虚拟机B之间进行通信,则需要使用两个共享内存环形缓冲区以及两个事件通道。

Lamport于1977年提出了经典的无锁环形缓冲区模型用于解决生产者-消费者问题。经典的无锁环形缓冲区设置为固定大小,并设置了一个头指针(front指针)指示写者位置,一个尾指针(back指针)指示读者位置。写者写入数据时,必须保证back < read +BUFFER_SIZE;读者读取数据时,必须保证read < back。经典无锁环形缓冲区的模型示意图如图2所示,无锁环形缓冲区的front指针和back指针作为待读取数据区域、无数据区域两者的分界线。目前已有一些研究工作采用了共享内存环形缓冲区来加速共生虚拟机间通信。XWay为每对共生虚拟机间的通信连接设置了一组环形缓冲区,发送方在传输层将发送的数据写入环形缓冲区中。XWay的环形缓冲区采用了经典的lock-free环形缓冲区设计,同一时刻只允许一个读者或者一个写者操作缓冲区。XenSocket以socket为模板,设计了一套专用于共生虚拟机间通信的API。上层应用在使用这套API通信时,数据会直接在双方建立的共享内存中读写。XenSocket的共享内存在逻辑上设计成环形,每对通信连接对应一个环形缓冲区。缓冲区同样采用了经典的lock-free环形缓冲区设计,因此同一时刻只允许一个读者或者一个写者操作缓冲区。XenLoop借助Linux内核提供的netfilter编程接口,在协议栈的网络层截获IP数据包,并将发往共生虚拟机的数据包写入共享缓冲区中。XenLoop的共享缓冲区并不是面向连接的,而是每一对共生虚拟机间共用一个环形缓冲。环形缓冲区的设计依然采用的是经典的lock-free模型。XenLoop在环形缓冲区的数据组织上使用了一致大小的数据单元,因此可以供多个连接共同使用。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201611245529.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top