Compared with the increasingly mature CPU virtualization technology, the research on the scalability and availability of GPU virtualization is at a relatively backward stage. Since GPU applications require a lot of memory, the virtual memory is the key factor that influences the scalability and availability. With the virtual memory management method and update mechanism as the breakpoint, this project proposes a scalable and highly available hardware-assisted GPU full virtualization solution, based on hardware virtualization. On scalability, this project proposes a dynamic sharing method, which adopts a space-time rotated dynamic memory allocation mechanism and a bypass mapping mechanism to break the limitation of fixed memory partitioning in existing GPU virtualization, increasing the supported number of virtual GPUs. On high availability, this project proposes an asynchronous shadow page table, command scanning, adaptive snapshots to optimize the saving and restoration of system states and reduce the downtime of live migration. These mechanisms will break the scheduling isolation of the application layer workloads and the GPU layer resources, perform application-aware scheduling and optimization for CPU/GPU resources based on their feature preferences, coordinate two kinds of computing resources on CPU/GPU, and allocate the main memory and video memory. In summary, this project will achieve high scalability (e.g., support extending to more than 40 VGPUs on a single GPU) and high availability (e.g., the downtime during live migration is no more than 500 milliseconds).
与日趋成熟的CPU虚拟化技术相比,GPU虚拟化的扩展性和可用性研究相对处于滞后的阶段。由于GPU应用需要大量的内存,虚拟内存是影响扩展性和可用性的关键因素。本课题以虚拟内存的管理方法和更新机制为突破点,提出基于硬件辅助虚拟化的可扩展、高可用GPU全虚拟化方案。在扩展性方面,提出动态共享方法,采用时空轮换的内存动态分配机制和旁路映射机制,突破现有GPU虚拟化固定划分内存的限制,提升支持虚拟GPU的数量;在可用性方面,提出了异步影子页表、命令扫描、自适应快照等新机制,优化系统状态保存和恢复,降低在线迁移的停机时间。打破应用层负载与GPU资源层的调度隔离,对CPU/GPU资源偏好特征进行应用感知的调度和优化,协调CPU/GPU两种计算资源,合理分配主存和显存两种内存资源。实现较高的扩展性(如单GPU支持VGPU扩展到40个以上)和可用性(如在线迁移时停机时间不超过500毫秒)。
自2005年Intel首次提供了针对CPU的硬件辅助虚拟化技术VT-x后,硬件辅助虚拟化已经成为了主流的“一虚多”虚拟化方法。GPU等新型硬件是算力输出的重要甚至主要部分,但GPU这类重要资源虚拟化相对于CPU等长期处于滞后的阶段。直到2014年才提出了以Intel gVirt、GPUvm为代表的硬件辅助虚拟化方案,但远未成熟。本课题的主要研究内容是基于硬件辅助虚拟化的可扩展、高可用的GPU虚拟化方法。以GPU虚拟化的内存管理方法和更新机制作为研究重点,研究内容可分为基于动态共享机制的可扩展GPU方法、基于异步更新的高可用GPU方法的和应用感知的虚拟化CPU/GPU资源混合调度等三个方面。本项目突破了可扩展、高可用GPU全虚拟化的关键技术。提出了基于动态共享的可扩展GPU虚拟化方法,通过影子显存页表拷贝预测机制,降低页表同步引起的上下文切换的性能损失。提出了基于API 重定向技术的可扩展的远程共享的轻量级虚拟化方法,实现较高的扩展性(如单GPU支持VGPU扩展到40个);在高可用GPU虚拟化方面,提出了一次预拷贝机制、基于哈希的软件脏页检测机制、地址重映射、预采样过滤机制等一系列优化手段,使得客户操作系统Windows/Linux平均停机时间为302/119毫秒,均小于500毫秒,与现有CPU在线迁移时间持平。项目成果与Intel联合发布于GPU开源社区,被Linux 4.10 官方采纳,应用于OpenStack、华为、阿里等主流虚拟化产品,实现了Linux 内核支持GPU虚拟化从无到有的突破。申请相关发明专利3项,并获得国内发明专利授权1项,美国发明专利授权3项,软件著作权1项。发表论文13篇(包括TPDS、ACM MM、VEE等),其中国际合作论文5篇。
{{i.achievement_title}}
数据更新时间:2023-05-31
MSGD: A Novel Matrix Factorization Approach for Large-Scale Collaborative Filtering Recommender Systems on GPUs
面向云工作流安全的任务调度方法
TGF-β1-Smad2/3信号转导通路在百草枯中毒致肺纤维化中的作用
生物炭用量对东北黑土理化性质和溶解有机质特性的影响
煤/生物质流态化富氧燃烧的CO_2富集特性
网络功能虚拟化可扩展性研究
云环境GPU虚拟化的安全问题研究
无线资源虚拟化和动态子网技术研究
面向通用计算集群的全局GPU虚拟化理论与方法研究