• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

J4 ›› 2013, Vol. 35 ›› Issue (11): 119-125.

• 论文 • 上一篇    下一篇

面向多任务的GPU通用计算虚拟化技术研究

张云洲,袁家斌,吕相文   

  1. (南京航空航天大学计算机科学与技术学院, 江苏 南京 210016)
  • 收稿日期:2013-08-02 修回日期:2013-10-08 出版日期:2013-11-25 发布日期:2013-11-19
  • 基金资助:

    国家863计划资助项目(2009AA044601);国家自然科学基金重点项目(61139002);江苏高校优势学科建设工程资助项目;南京航空航天大学基本科研业务费专项科研项目(NP2013308)

Research of virtualization of multitask oriented
general purpose computation on graphic processing unit        

ZHANG Yun-zhou,YUAN Jia-bin,L Xiang-wen   

  1. (College of Computer Science and Technology,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China)
  • Received:2013-08-02 Revised:2013-10-08 Online:2013-11-25 Published:2013-11-19

摘要:

随着硬件功能的不断丰富和软件开发环境的逐渐成熟,GPU在通用计算领域的应用越来越广泛,使用GPU集群来进行海量数据计算的例子不胜枚举。但是,相对于CPU,GPU的功耗较大,如果每个节点都配备GPU,则将大大增加集群的功耗。虚拟化技术的引入使得在虚拟机中利用GPU资源进行通用计算成为可能。为高效、充分地利用GPU,针对GPU的特点,提出了一种面向多任务的可动态调度、支持多用户并发的GPU虚拟化解决方案。在已有的GPU虚拟化方案的基础上,综合考虑虚拟机域间通信的通用性以及任务的周转时间,建立了CUDA管理端来对GPU资源进行统一管理。通过设置综合负载评价值实现负载均衡并降低任务的平均周转时间。在设计的系统上进行大规模矩阵运算实验,结果说明了GPU虚拟化方案在计算系统中的可行性和高效性。关键词:

关键词: GPU通用计算, 虚拟化, CUDA, 负载均衡

Abstract:

With the enrichment of hardware functions and the gradual maturity of software development environment, GPU is widely used in the field of general purpose computing, and GPU clusters are more and more used for scientific computing on huge amounts of data. However, GPU consumes more power than CPU, so the GPU clusters have large power consumption if every cluster node hosts a GPU. Virtualization technology makes it possible that GPU is used for general purpose computing in a virtual machine. For the sake of using GPU efficiently, according to the features of GPU, a multitask oriented GPU virtualization solution is proposed, which can support dynamic scheduling and multi-user concurrency. Based on the existed solutions of GPU virtualization, we establish CUDA manage end to manage the GPU resources by taking into account the virtual machine communication between domain generality and task’s turnaround time. In order to achieve load balance and shorten the turnaround time, we set a value of integrated load evaluation. Through designing large scale matrix operations, we verify the feasibility and efficiency of GPU virtualization applied in the designed system.

 

Key words: general purpose computing on GPU;virtualization;CUDA;load balance