[发明专利]一种基于多队列千兆以太网控制器的IO虚拟化装置在审
申请号: | 201810622241.8 | 申请日: | 2018-06-15 |
公开(公告)号: | CN108920252A | 公开(公告)日: | 2018-11-30 |
发明(设计)人: | 李龙飞;贺占庄;王剑峰;史阳春;张佳 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F13/28 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 杨博 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 以太网控制器 主机内存 发送 主机 多队列 虚拟机 虚拟化装置 唯一对应 数据帧 宿主 发送引擎模块 接收引擎模块 目的MAC地址 控制器硬件 宿主计算机 数据交换 构架 传输 优化 改进 | ||
本发明公开了一种基于多队列千兆以太网控制器的IO虚拟化装置,包括接收引擎模块,完成数据帧从以太网控制器到主机内存的传输;接收BD环模块,存放从主机内存获取的接收BD信息,包括若干个接收BD环,其中一个接收BD环与主机对应,其他的接收BD环与主机上的虚拟机唯一对应;发送引擎模块,根据目的MAC地址,将主机内存中待发送的数据帧发送到以太网控制器;发送BD环模块,存放从主机内存获取的发送BD信息,包括若干个发送BD环,其中一个发送BD环与主机对应,其他的发送BD环与主机上的虚拟机唯一对应。基于多队列千兆以太网控制器,并且对该控制器硬件构架进行优化和改进,加快同一宿主计算机上虚拟机之间的数据交换,并且降低了宿主计算机的CPU负担。
技术领域
本发明属于计算机网络及计算机系统结构技术领域;具体涉及一种基于多队列千兆以太网控制器的IO虚拟化装置。
背景技术
随着虚拟机在服务器端的广泛应用,IO虚拟化技术也在不断发展以更好地支持虚拟机的应用。从最初的采用软件的方式来模拟硬件设备,IO虚拟化技术目前已广泛采用基于硬件的方式实现,更具体的说,是基于网络控制器实现。
高性能以太网控制器均支持IO虚拟化技术,以降低宿主计算机的CPU负担,提高内部虚拟机的性能。目前主流的实现方式是采用多队列以太网控制器,即在控制器中根据MAC地址对数据帧进行分类并划分为多个队列,每个队列服务于唯一的一台虚拟机。具体来说,目前主流的技术主要有英特尔提出的VMDq(Virtual Machine Device queue)技术和基于PCI-e的SR-IOV(Single Root I/O Virtualization)技术。
VMDq技术不再依赖上层的虚拟机管理软件对数据包进行分类和排序,而是使用控制器中的硬件实现。VMDq在网络控制器中为每个虚拟机分配了独立的队列,这样虚拟机可以通过管理软件与指定队列直接进行数据交换。
SR-IOV技术基于PCI-e的单根虚拟化,可以将一个PCI-e设备在上层系统中注册成为多个PCI-e设备,即多个网络控制器(每个网络控制器都有独立的中断ID、收发队列、QoS管理机制);每个控制器可以分配给虚拟机使用。
与基于软件的方式相比,尽管VMDq和SR-IOV技术显著提高了IO虚拟化的性能,但是同一宿主计算机上虚拟机之间的数据交换仍然是通过虚拟机管理软件实现的,其性能会必定受到系统计算资源的限制。上述两种主流的IO虚拟化技术均未对内部虚拟机之间的数据交换情况进行优化和考虑,然而随着网络带宽和应用需求的不断增大,同一宿主计算机上虚拟机之间的数据交换会越来越频繁,且数据交换量也会越来越大。在这种情况下,若仍然采用软件的方式来实现内部虚拟机之间的数据交换,势必会占用宿主计算机的计算资源,造成系统性能的下降。
发明内容
本发明提供了一种基于多队列千兆以太网控制器的IO虚拟化装置;基于多队列千兆以太网控制器,并且对该控制器硬件构架进行优化和改进,加快同一宿主计算机上虚拟机之间的数据交换,并且降低了宿主计算机的CPU负担。
本发明的技术方案是:一种基于多队列千兆以太网控制器的IO虚拟化装置,包括接收引擎模块,完成数据帧从以太网控制器到主机内存的传输;接收BD环模块,存放从主机内存获取的接收BD信息,包括若干个接收BD环,其中一个接收BD环与主机对应,其他的接收BD环与主机上的虚拟机唯一对应;发送引擎模块,根据目的MAC地址,将主机内存中待发送的数据帧发送到以太网控制器;发送BD环模块,存放从主机内存获取的发送BD信息,包括若干个发送BD环,其中一个发送BD环与主机对应,其他的发送BD环与主机上的虚拟机唯一对应;状态块模块,记录接收BD环模块和发送BD环模块中各个BD环的当前状态,寄存器模块,存储硬件电路中的配置信息,包括主机以及各个虚拟机的MAC地址,接收BD环和发送BD环包含的BD信息数目及其更新的阈值;所述接收引擎模块和发送引擎模块均能够从接收BD环模块中获取接收BD信息。
更进一步的,本发明的特点还在于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810622241.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种容器的管理系统及方法
- 下一篇:一种无代理的虚拟机监控系统和监控方法