[发明专利]嵌入式网络虚拟化环境中优化网络吞吐量的方法有效
申请号: | 201510044195.4 | 申请日: | 2015-01-28 |
公开(公告)号: | CN104615495B | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 姚建国;程书欣;邓婷;管海兵 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;H04L12/891 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 郭国中 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 网络 虚拟 环境 优化 吞吐量 方法 | ||
技术领域
本发明涉及嵌入式系统,具体地,涉及嵌入式网络虚拟化环境中优化网络吞吐量的方法及自主超级调用聚合方法。
背景技术
嵌入式系统是执行少数任务的专用系统,与传统x86平台不同,嵌入式环境具有功耗低,计算能力较弱等特点,具有不同的性能模型。嵌入式系统需要频繁的与物理世界进行频繁的交互,但由于嵌入式系统的资源限制,在嵌入式虚拟化环境下I/O虚拟化的性能成为了嵌入式虚拟化技术的重要技术指标。在嵌入式虚拟化环境中,I/O虚拟化的性能需要保证硬件设备的整体性能在一定的扩展范围内稳定,能够满足各个虚拟机的资源需求。
在传统的系统结构中,I/O设备连接到PCI总线上,PCI设备通过PCI配置空间以及设备地址空间与操作系统进行交互,通过中断机制通知反馈操作系统。虚拟化环境中,软件通过截获Guest PIO和MMIO请求截获,通过硬件虚拟化扩展转发给上层;模拟结束后再将结果通过中断反馈到Guest中。
目前有三种主流的I/O设备虚拟化方案,用来实现I/O设备的虚拟化:一是完全虚拟化方式,I/O设备完全由虚拟机平台进行模拟,其驱动不需要修改。虚拟机平台对虚拟机完全透明,虚拟机只需要调用原生系统中的设备驱动,直接操作下层的虚拟硬件,具体的指令陷入由VMM完成解释和执行。I/O完全虚拟化方式最大的弊端在于处理器特权级地切换,即从Guest OS到VMM、VMM到模拟用户程序的I/O进程之间切换,严重影响了虚拟化效率,需要消耗大量的CPU指令周期;二是半虚拟化方式,虚拟机系统中集成专用的虚拟机设备驱动,访问I/O设备需采用虚拟机中提供的虚拟设备。由于其驱动为虚拟设备专用,所以客户机系统需要进行修改。当应用程序提出访问请求时,前后端驱动共同配合完成访问。半虚拟化方式的I/O虚拟化拥有较好的性能,但是其不足之处在于虚拟机需要修改系统驱动,实现前后端驱动的对应;三是硬件支持的虚拟化,通过硬件的支持,虚拟机系统可以在VMM授权后,不经VMM的请求转发,实现对硬件设备的直接访问。硬件支持的虚拟化方式是未来虚拟化发展的一个方向,但是其广泛的应用仍然有赖于硬件设备的探索与发展。
1.1、KVM/ARM
ARM体系结构过去在指令集上认为是不可虚拟化的(G.J.Popek and R.P.Goldberg.Formal Requirements for Virtual izable Third Generation Architectures.Communications of the ACM,17(7):412–421,July 1974),ARM在最新的ARMv7和ARMv8架构中引入了硬件虚拟化扩展,包括对CPU,内存,中断以及计时器虚拟化的硬件支持扩展。嵌入式系统的虚拟化研究,Christoffer Dall和Jason Nieh等已进行了系统的研究,实现了第一个ARM系统的虚拟化解决方案KVM/ARM,KVM/ARM已被并入到Linux 3.9内核中。
KVM/ARM基于已有的x86平台下解决方案KVM,与x86平台相比,ARM平台缺少标准BIOS或PCI总线的硬件自动识别,而Linux被设计于运行于几乎所有的ARM平台上。通过与KVM结合,KVM/ARM可以不加修改的运行在各个ARM平台上,这与Xen ARM形成对比:Xen ARM直接运行在硬件层,必须针对各个不同的ARM平台编写不同的平台代码。
ARM虚拟化硬件扩展被设计用于独立运行于硬件的虚拟机监控程序,因此KVM/ARM采用了分离模式的设计,该设计使得KVM既能够利用已有KVM代码,又可以充分利用ARM虚拟化硬件扩展的特性,架构如图1所示。
KVM/ARM分为Highvisor和Lowvisor两个模块,Highvisor运行在PL1级别,即宿主机内核中,负责集成和利用已有的KVM代码,例如可以直接使用Linux Kernel中较为成熟的调度模块,可以使用Linux Kernel中标准的数据结构;Lowvisor运行在CPU PL2级别,即Hyp级别,Lowvisor充分利用ARM虚拟化硬件扩展的特性,配置正确的执行环境。KVM/ARM的分离模式允许其可以运行在不经修改的内核中。
1.2、VirtIO PV Driver
VirtIO是半虚拟化解决方案中位于设备之上的设备层,是对通用模拟设备的抽象;通过应用编程接口连接客户机操作系统及虚拟机监控程序(Hypervisor)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510044195.4/2.html,转载请声明来源钻瓜专利网。