论文部分内容阅读
随着云计算和大数据的大热发展,用户对信息的获取呈现多样化,例如多屏独立显示。云计算和大数据分析都依赖GPU(Graphic Processing Unit)虚拟子系统潜在的并行计算能力。虚拟化技术在近几年也获得了长足的进步和发展,在现代虚拟化计算环境下,无论是远程服务器还是本地客户端,都需要GPU虚拟化来支持隐藏在虚拟机(Virtual Machine)下的图形用户显示、高性能并行计算以及GPU硬编解码。现存的GPU虚拟化技术要么不能利用GPU强大的2D/3D硬加速图形渲染、高性能并行计算和硬编解码性能的优势,要么没有考虑多个DomUs的GPU不同类型的应用负载根据其不同性能的需求,对GPU域内部资源公平性分配。本文以Xen Hypervisor虚拟系统为主体,研究GPU虚拟化技术,包括GPU多通道虚拟化及其公平策略和虚拟环境下GPU硬编解码实现及其公平性。主要研究内容如下:(1)提出一种GPU多通道虚拟化架构(A Virtual Mu1ti-Channel GPU Fair-Scheduling Method for Virtual Machines,简称 VMCG),并建立相关 credit 分配和转移机制,设计虚拟多通道GPU公平调度算法。多个客户虚拟机(DomUs)之间竞争相同的物理GPU资源,VMCG为每个DomU提供一个独立的虚拟多通道(Virtual Multi-Channel,简称V-Channel)来降低这种竞争干扰。每个DomU根据其ID将GPU应用产生的GPU命令请求块提交给V-Channel的请求队列。通过虚拟多通道GPU公平调度算法,不仅仅多个DomUs能充分利用原生GPU硬加速,且多个DomUs在执行密集型GPU负载时能被公平地分配GPU资源。该方法在Linux下对其进行了评估,实验结果表明,同gVirt相比,对于2D/3D图形应用,VMCG性能可以达到原生GPU的大约96%;对于并行计算例程,可以提升大约500%的公平性;混合负载的GPU资源分配公平性达到约80%。(2)在gVirt架构的基础上,提出一种多虚拟机下GPU硬编解码的实现和公平性方案。DomU端,利用FFmpeg框架优化编解码阶段,并增加原生的声卡驱动,使之服务于编解码的音视频分流;Dom0端,扩展Mediator模块,也为每个DomU提供独立的V-Channel,以便降低系统干扰,设计适合GPU硬编解码的公平调度算法。该方案能实现多虚拟机下,多个DomUs并发地访问物理GPU来实现其硬编解码性能及其公平性。实验结果表明,当运行相同视频负载时,采用软加速的编码和解码的G/C比值分别约为2.2和1.4,而开启硬加速后,其G/C比值分别为5.2和2.4,性能提升约145%;增加约35%的公平性,并具有良好的稳定性。