欢迎来到天天文库
浏览记录
ID:31359327
大小:107.50 KB
页数:6页
时间:2019-01-09
《基于kvm虚拟化的显卡直传技术研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于KVM虚拟化的显卡直传技术研究 摘要:针对当前云计算模式下显卡虚拟化的效率问题,提出一种基于KVM虚拟化的显卡直传技术方案。在KVM的基础上进行了二次开发和优化,提高了虚拟机显卡的数据传输速率。实验结果表明,显卡直传技术优化后的技术方案可以将显卡虚拟化的性能提高到原来的2倍,使用户体验达到本地化效果。 关键词:KVM;显卡;虚拟化;直传 DOIDOI:10.11907/rjdk.162148 中图分类号:TP319 文献标识码:A文章编号:16727800(2016)010014202 0引言 随着虚拟化技术的发展,桌面虚拟化方案已经在X86硬件架构上取得
2、了显著成果,并且逐渐成为当前云计算发展和研究的一个热点方向,在并行计算、大数据存储、虚拟云桌面方面得到了广泛应用[1]。6 虚拟化技术针对底层硬件资源实现资源的虚拟、共享和隔离,具有安全性高和对上层用户透明的特性。目前,虚拟化技术在视频显卡访问方面还面临很大挑战,很多研究人员采用基于远程应用编程接口的方法开发出针对视频显卡的虚拟化框架,从而实现虚拟机对于显卡的访问,但是这种方法在应用中需要虚拟机与宿主机之间进行大量的图像数据传输,严重影响了物理显卡使用性能。如何通过改进和优化虚拟化方案提升虚拟机内部访问硬件显卡的性能是本文研究的重点[2]。 本文针对视频显卡在虚拟化环境
3、中的应用需求和存在的问题,从图像数据传输量和传输机制方面入手,提出一种基于KVM虚拟化的显卡直传技术,解决虚拟机共享物理显卡的性能问题。 1KVM虚拟机技术概述 KVM全称是KernelVirtualMachine,即基于内核的虚拟机,是一个开源的虚拟化模块。KVM是由以色列的名为Qumran的开源组织提出的基于硬件虚拟化的实现方案。KVM虚拟化方案包括内核模块和处理器模块两个部分。其中,内核模块由kvm.ko文件来提供核心的虚拟化实现;处理器模块由kvm-intel.ko和kvm-amd.ko文件分别提供对Intel处理器和AMD处理器的虚拟化技术支持。Linux内核
4、通过加载KVM模块成为VMM即虚拟机监控器,而KVM模块借助Linux内核完成程序的调度、内存管理等。 1.1KVM虚拟化实现 KVM虚拟化技术作为VMM的实现方案,有两种模式:Kernel模式和User模式,分别对应VMX模式下的特权级0和特权级3。Kernel模式下运行的是KVM内核模块,User模式下运行的是QEMU模块。而KVM虚拟机运行在VMX的非根模式即Guest模式。KVM虚拟化技术的工作模式如图1所示。6 利用硬件虚拟化VT-x技术,KVM为每一台虚拟机分配多个vCPU即虚拟处理器,其中一个vCPU对应QEMU的一个线程,KVM虚拟机的生命周期主要是v
5、CPU的创建、初始化、运行以及推出处理,这些都是在QEMU的上下文环境中完成的,需要KVM的Kernel、User和Guest三种模式配合实现,Kernel模式与User模式之间以系统调用ioctl的方式进行交互和通信,而内核模块与虚拟机内部进程之间通过VMEntry和VMExit指令操作完成切换[34]。 1.2KVM虚拟化的特点 作为基于Linux内核的全虚拟化解决方案,不同于半虚拟化方案,KVM能够提供基于X86架构的完整硬件平台,包括处理器、硬盘、内存、网络适配器以及外围设备等,同时虚拟机操作系统不需要作任何的修改便可运行X86平台上的应用软件。因此KVM虚拟化
6、技术的主要优势有:①KVM是开源的虚拟化解决方案,虚拟机开发成本低;②KVM模块整合在Linux系统内核中,可以兼容内核中的硬件驱动;③KVM具有优良的系统性能和稳定性[56]。 2虚拟化中的显卡直传技术 KVM虚拟化实现架构中,虚拟机需要访问QEMU模拟仿真出来的外围设备,而这个处理过程需要通过虚拟化中间层传递和处理,才能将真实数据发送给物理硬件设备来处理。对于低速设备来说,这种实现方案能够满足其数据传输和处理的要求的,但是对于显卡虚拟化来说,对于性能要求极为严格,因此本文采用显卡直传方式将物理显卡地址直接、隔离地分配给每一台虚拟机独占式访问,虚拟机内部操作系统可以直
7、接驱动底层物理显卡,进行内存映射输入输出访问或者直接内存访问操作。图2为显卡直传处理与QEMU模拟仿真显卡实现架构对比,可以看出,直传技术能够满足虚拟机调用物理显卡驱动实现图像显示,最大化发挥显卡性能。 2.1显卡直传技术原理6 KVM虚拟机要实现PCI设备直传,需要考虑以下问题: ①如何对PCI设备的配置空间进行映射; ②如何映射PCI设备的内存和I/O资源; ③如何实现PCI设备中断请求的映射; ④如何实现设备的直接内存访问。 KVM虚拟化方案可以通过软件映射机制很好地实现PCI设备的前3个问题,
此文档下载收益归作者所有