透過您的圖書館登入
IP:3.128.78.30
  • 學位論文

雲端作業系統的圖形處理器虛擬化支援系統

GPU Virtualization Support in Cloud System

指導教授 : 劉邦鋒
共同指導教授 : 吳真貞

摘要


現今GPU 的運算能力遠高於CPU。在高效能計算中GPU 日趨重要, 但是若要使用到 GPU 的運算能力,使用者往往需要花費高昂成本購買GPU 晶片, 並不一定符合預算。而在雲端運算的概念被提出後, 使用者可以花費相對較少的成本,使用到相同功能的機器,因此使用者會期望雲端運算業者提供支援虛擬GPU機器的服務。 目前提供承租 GPU 虛擬機器的業者多是採用一台虛擬機器綁定一個GPU 晶片的政策,或是採用傳送檔案到遠端機器處理後再回傳的方式執行GPU程式,並不能做到單一晶片的分時共享。本論文的目的在於設計一套能夠創建GPU虛擬機器的雲端運算系統,使系統可以利用NVidia Fermi 架構, 來同時執行好幾個來自不同虛擬機器的程式,並且達成裝置分時共享的目的。

並列摘要


Nowadays a graphic processing unit (GPU) delivers much better performance than CPU does. As a result GPU is becoming increasingly important in high performance computing (HPC) because of its tremendous computing power. At the same time cloud computing is becoming increasingly popular, and HPC community will expect cloud computing companies to provide virtual GPU service, just like virtual CPU, virtual disk, and virtualized network they have been providing. This business opportunity means computing GPU will be more economical because users can spend relatively less to rent GPUs to fit their computing needs, rather than buying them. The current practice of virtual GPU rental service is to bind a GPU to a virtual machine statically. The problem of this approach is that virtual machines cannot share a GPU. This is against the "multiple tenancy" principle of cloud computing. The goal of this paper is to design a cloud computing system that can combine the CUDA program from every virtual machine and execute them concurrently, which support the concept of GPU "time-sharing" principle of cloud computing, which is crucial to providing an economic computing service. This paper describes a method of using NVidia Fermi Architecture GPU for GPU virtualization. The key idea in our design is that NVidia Fermi architecture GPU can support concurrent kernel execution, which can allows 16 CUDA kernels concurrent execution. We virtualize GPU by collecting GPU programs from different virtual machines into a single virtual machine, where the programs will be run by the GPU. Our approach reduces the compilation and execution time of combined programs, and also reduce the average waiting time of each CUDA program from different virtual machines. We conduct experiments to evaluate the efficiency of our GPU virtualization. Preliminary results are satisfactory.

並列關鍵字

Cloud computing GPU virtualization

參考文獻


[1] Amazon elastic compute cloud. http://aws.amazon.com/ec2/.
[2] Google cloud platform. http://cloud.google.com/.
[7] J.A. Anderson, C.D. Lorenz, and A. Travesset. General purpose molecular dynamics simulations fully implemented on graphics processing units. In Journal of Computational Physics, 2008, pages 5342–5359, February 2008.
[9] Vincent A. Voelz, Gregory R. Bowman, Kyle Beauchamp, and Vijay S. Pande. Molecular simulation of ab initio protein folding for a millisecond folder ntl9(1-39). Journal of the American Chemical Society, 132(5):1526–1528, 2010. PMID: 20070076.
[27] L. Shi, H. Chen, and J. Sun. vcuda: Gpu-accelerated high-performance computing in virtual machines. In IEEE International Symposium on Parallel & Distributed Processing, pages 1–11, May 2009.

延伸閱讀