[发明专利]基于硬件队列扩展的网卡虚拟化系统及其方法有效
申请号: | 201210006925.8 | 申请日: | 2012-01-11 |
公开(公告)号: | CN102609298A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 吴俊敏;朱峪;朱小东;赵小雨 | 申请(专利权)人: | 中国科学技术大学苏州研究院 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 范晴 |
地址: | 215123 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 硬件 队列 扩展 网卡 虚拟 系统 及其 方法 | ||
技术领域
本发明属于系统虚拟化中的IO虚拟化领域,具体涉及一种多核网络处理器平台上基于硬件队列扩展的网卡虚拟化系统及其方法。
背景技术
近年来,计算机硬件计算能力不断攀升,硬件成本下降,导致廉价硬件大量增加。与之相关的一系列现实问题成为当前产业界关注的热点:管理成本攀升,安全性低,资源的利用率低下。而虚拟化技术具有隔离性、可合并、可迁移性等特点,被认为是优化当前产业界基础IT架构,解决上述现实问题的最好解决方案。
尽管虚拟化技术存在诸多优点,在产业界的应用却还面临着很多制约,其中性能开销问题成为影响虚拟化技术应用的一个重要制约因素。虚拟化技术的发展经历了处理器虚拟化,芯片虚拟化,IO虚拟化三个阶段。现阶段虚拟化的性能瓶颈已从处理器虚拟化转向IO虚拟化:对于偏重于IO访问的应用,虚拟化的性能开销十分明显,有时可能达不到非虚拟化环境的1/3。另外对于多核架构的虚拟化系统,IO访问更加频繁,这就对IO性能,可靠性方面提出了更高的要求,网卡作为重要的IO设备更是如此。在此背景下,传统的基于软件实现的网卡虚拟化方案已不能满足要求。
发明内容
本发明目的在于提供一种多核网络处理器平台上的网卡虚拟化系统,解决多核架构的虚拟平台上对于偏重于IO访问的应用尤其是网络应用普遍存在的虚拟化的性能开销大的问题,提高虚拟系统对网卡的访问效率。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种多核网络处理器平台上基于硬件队列扩展的网卡虚拟化系统,包括接口管理模块,虚拟接口驱动模块和网卡驱动模块,其特征在于所述虚拟接口驱动模块中虚拟接口由独立中断硬件队列构成,硬件队列与物理网卡绑定,为分区操作系统提供虚拟接口,所述接口管理模块,虚拟接口驱动模块和网卡驱动模块通过域间通信机制进行控制交互,完成网络通信。
优选的,所述虚拟接口驱动模块根据运行时状态由所述接口管理模块使能,使分区操作系统获得访问虚拟接口的权限,并为分区操作系统提供与虚拟接口交互的接口。
优选的,所述接口管理模块位于虚拟机监控器中,提供轻量级API管理虚拟接口并实时更新虚拟接口状态信息,使用mailbox核间通信机制与驱动域进行控制交互。
优选的,所述网卡驱动模块位于宿主操作系统上,负责虚拟接口与物理网卡的数据及控制交互,当驱动域接收到mailbox中断后,所述网卡驱动模块调用相应中断处理函数从相应虚拟接口获得数据包,调用物理网卡驱动的发送函数,当物理网卡收到数据包后,所述网卡驱动模块根据所述接口管理模块传来的接口状态信息数据发送至虚拟接口接收队列。
本发明的另一目的在于提供一种多核网络处理器平台上基于硬件队列扩展的网卡虚拟化方法,其特征在于所述方法包括以下步骤:
(1)所述虚拟接口驱动模块通过加载参数在启动分区操作系统时被加载;
(2)所述接口管理模块根通过mailbox中断控制使能所述虚拟接口驱动模块接口;
(3)所述网卡驱动模块接受的中断信号处理数据包,与物理网卡驱动交互完成网络访问。
优选的,所述方法中所述分区操作系统是由虚拟机监控器加载,虚拟机监控器与分区是物理上平行,逻辑上主从的结构,虚拟机监控器处于主控地位,利用全局内存管理模块控制分区加载。
优选的,所述方法中所述全局内存管理模块通过全局链表管理各操作系统可见资源,根据加载申请分配资源。
本发明人经长期研究,采用了自虚拟化的方法,对物理网卡进行扩展。本发明将多核网络处理器平台上的具有独立中断的硬件队列与物理网卡绑定,为每个客户操作系统提供有硬件队列封装的虚拟接口,通过硬件保证了IO隔离性。用硬件扩展功能和高效的核间中断机制代替了传统IO虚拟化的超级调用和中断截获来完成虚拟IO访问,减少了虚拟机上下文转移的次数,从而避免了TLB失效率增加带来的额外虚拟化开销,有效地提高了虚拟化性能。
网卡虚拟化系统进行网络访问的具体工作步骤如下:虚拟机监控器为客户虚拟机配置加载虚拟接口驱动;客户虚拟机发出网络IO访问请求;将IO请求映射到物理网卡物理接口;物理网卡接口接受网络报文,正确地分派给各个客户虚拟机的虚拟接口,完成网络通信。
上述步骤主要包含两个映射:从虚拟机到物理网卡的映射以及从物理网卡接口到虚拟机的映射,本发明的主要目的在于实现一个可靠,安全,低虚拟化开销的虚拟网卡系统,而其中地虚拟化开销目标关键在于减少这两个映射过程中虚拟化性能损耗,为了实现这一目的,本发明人遇到以下亟需解决的难题:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学苏州研究院,未经中国科学技术大学苏州研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210006925.8/2.html,转载请声明来源钻瓜专利网。