簡易檢索 / 詳目顯示

研究生: 黃啟淵
Huang, Chi-Yuan
論文名稱: 可虛擬化之OpenGL ES 1.0 3D GPU與其虛擬化設計平台
OpenGL ES 1.0 Virtualizable 3D GPU and its Virtual Design Platform
指導教授: 陳中和
Chen, Chung-Ho
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電腦與通信工程研究所
Institute of Computer & Communication Engineering
論文出版年: 2013
畢業學年度: 101
語文別: 英文
論文頁數: 61
中文關鍵詞: 電子層級設計全系統模擬GPU虛擬化
外文關鍵詞: ESL, Full system simulation, GPU virtualization
相關次數: 點閱:122下載:3
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 雲端技術讓用戶只需簡單的用戶端軟硬體即可存取雲端伺服器中的資料、應用程式以及圖形化桌面環境,伺服器端使用硬體虛擬技術來支援大量且獨立的使用者運算環境,其中包含了提供使用者圖形化桌面的GPU虛擬化技術。

    本論文提出一個基於CASL Hypervisor及其全系統虛擬化平台的GPU虛擬化方法。CASL Hypervisor是設計給ARM Realview開發板使用的Hypervisor。此方法可讓使用者應用程式不需修改即可移植至虛擬化平台上。除此之外,GPU硬體、GPU的控制流程以及資料傳送流程以及也重新設計以提高在虛擬化環境下的效能以及硬體平行度。硬體驅動程式也因應優化過的控制流程進行修改並使其能夠同時相容於虛擬化與非虛擬化環境。我們並提出新的資源的管理方式使得特定條件下能夠再度提升GPU performance。

    執行4個虛擬機器的情形下,一個虛擬機器預期可獲得25%非虛擬化環境的GPU效能。使用我們提出的GPU虛擬化方法後,每一個虛擬機器獲得的效能提升至37%。除此之外,與非虛擬環境相比,使用新的資源管理法可使虛擬環境下的GPU效能提升41%。

    Cloud servers can provide services such as computation tools, data center, and desktop environment to users. GPU virtualization techniques can be used to support independent user graphics desktop interfaces.

    This thesis proposes a GPU virtualization based on the CASL Hypervisor and its full system virtual platform and a virtualizable GPU. The CASL Hypervisor is designed for ARM Realview Baseboard and can virtualize unmodified ARM Linux operating system. To improve the GPU performance in the virtualization environment, the GPU hardware, the control flow and the data path have been optimized. The device driver is also modified for the new GPU control flow and the modified device driver is compatible to both virtual and non-virtual environment. We also propose a new triangle buffer management scheme of the hypervisor to further improve the performance and runtime parallelism.

    The expected performance of each GPU in 4 VMs case is around 25 percent of the non-virtualized case. However, through the proposed GPU virtualization solution, the GPU performance in the virtualization system with 4 VMs running is improved to 37% of the performance in non-virtualized case. According to the experimental result, the triangle buffer management can improve the performance with 1 VM running by 41% of the performance in non-virtualized case.

    Abstract 3 摘要 5 誌謝 6 Content 7 List of Tables 9 List of Figures 10 Chapter 1 Introduction 12 Chapter 2 Background 13 2.1 OpenGL 13 2.2 Geometry Stage 14 2.2.1 Transformation 14 2.2.2 Lighting 16 2.2.3 Primitive Assembly 17 2.2.4 Clipping and Culling 18 2.3 Rasterization Stage 18 2.3.1 Triangle Setup and Traversal 18 2.3.2 Texture Mapping 19 2.3.3 Per-fragment Operation 19 2.4 Virtualization 20 2.4.1 Para-virtualization 21 2.4.2 Full Virtualization 21 2.4.3 I/O Virtualization 22 Chapter 3 Related Works 23 3.1 Front-end GPU Virtualization: 23 3.2 Back-end GPU Virtualization: 26 Chapter 4 The Full System Virtualization Platform 28 4.1 ARMv7 Instruction Set Simulator [14] 28 4.1.1 Privilege Levels and Processor Modes [14] [15] 29 4.1.2 Wait For Interrupt Instruction [14] 29 4.1.3 Hypervisor Trap [14] 29 4.1.4 Two Stage Virtual Address Translation [14] 30 4.2 Device Module 30 4.2.1 Generic Interrupt Controller [14] [16] 30 4.2.2 Timer 32 4.2.3 Universal Asynchronous Receiver/Transmitter [14] [17] 32 4.2.4 Semi-host Device 32 4.2.5 Fixed Function Pipeline GPU [19] 33 Chapter 5 The CASL Hypervisor and the GPU Virtualization Architecture 34 5.1 Guest Operating System 35 5.2 Hypervisor Traps 36 5.3 CPU Virtualization 36 5.4 Memory Virtualization 37 5.4.1 Page Tables 37 5.5 GPU Virtualization 38 5.5.1 Hardware Architecture Support for Virtualization 39 5.5.2 Logic GPU 40 5.5.3 Command Buffer and Multiple Private Resources 42 5.5.4 Virtual Machine Scheduling Method 45 5.5.5 Intelligent Triangle Buffer Management 45 Chapter 6 Experimental Results 46 6.1 Host OS Environment and Virtual Platform Configuration 46 6.2 GPU Hardware Configuration 47 6.3 Benchmarks 47 6.4 The Bandwidth of GPU 50 6.5 The Performance of GPU 51 6.5.1 Frame per Second 51 6.5.2 Runtime Parallelism 54 Chapter 7 Conclusion 59 Chapter 8 Reference 60

    [1] SystemC, Wikipedia http://en.wikipedia.org/wiki/SystemC
    [2] Virtualization, Wikipedia http://en.wikipedia.org/wiki/Virtualization
    [3] Para-Virtualization, Wikipedia http://en.wikipedia.org/wiki/Paravirtualization
    [4] Xen, Wikipedia http://en.wikipedia.org/wiki/Xen
    [5] Full Virtualization, Wikipedia http://en.wikipedia.org/wiki/Full_virtualization
    [6] I/O Architecture for Virtualization, VMWorld 2006 http://xpgc.vicp.net/course/svt/TechDoc/ch12-IOArchitecturesForVirtualization.pdf
    [7] Coordinate Systems in OpenGL http://www.matrix44.net/cms/notes/opengl-3d-graphics/coordinate-systems-in-opengl
    [8] Möller, Tomas, Eric Haines, and Naty Hoffman. Real-time rendering. AK Peters Ltd, 2008.
    [9] Gupta, Vishakha, et al. "GViM: GPU-accelerated virtual machines." Proceedings of the 3rd ACM Workshop on System-level Virtualization for High Performance Computing. ACM, 2009.
    [10] Lagar-Cavilla, H. Andrés, et al. "VMM-independent graphics acceleration." Proceedings of the 3rd international conference on Virtual execution environments. ACM, 2007.
    [11] Dowty, Micah, and Jeremy Sugerman. "GPU virtualization on VMware's hosted I/O architecture." ACM SIGOPS Operating Systems Review 43.3 (2009): 73-82.
    [12] Nvidia http://www.nvidia.com.tw/page/home.html
    [13] Nvidia CUDA API Documentation http://docs.nvidia.com/cuda/cuda-runtime-api/
    [14] C-T Liu, “CASL Hypervisor and its Virtualization Platform”, Institute of Computer and Communication Engineering, National Cheng Kung University, Thesis for Master of Science, July 2012.
    [15] ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition
    [16] ARM Generic Interrupt Controller Architecture Specification.
    [17] PrimeCell UART (PL011) Technical Reference Manual.
    [18] OpenGL http://www.opengl.org/
    [19] H-Y Huang, “Tile-Based GPU Optimization through the ESL Full System Simulation”, Institute of Computer and Communication Engineering, National Cheng Kung University, Thesis for Master of Science, July 2011.
    [20] Credit Scheduler http://wiki.xensource.com/wiki/Credit_Scheduler
    [21] OpenGL ES 1.1 Reference Pages http://www.khronos.org/opengles/sdk/1.1/docs/man/

    下載圖示 校內:2015-08-28公開
    校外:2015-08-28公開
    QR CODE