進階搜尋


下載電子全文  
系統識別號 U0026-1608201308202900
論文名稱(中文) 可虛擬化之OpenGL ES 1.0 3D GPU與其虛擬化設計平台
論文名稱(英文) OpenGL ES 1.0 Virtualizable 3D GPU and its Virtual Design Platform
校院名稱 成功大學
系所名稱(中) 電腦與通信工程研究所
系所名稱(英) Institute of Computer & Communication
學年度 101
學期 2
出版年 102
研究生(中文) 黃啟淵
研究生(英文) Chi-Yuan Huang
學號 Q36004117
學位類別 碩士
語文別 英文
論文頁數 61頁
口試委員 指導教授-陳中和
口試委員-邱瀝毅
口試委員-張大緯
口試委員-張雲南
口試委員-賴伯承
中文關鍵字 電子層級設計  全系統模擬  GPU虛擬化 
英文關鍵字 ESL  Full system simulation  GPU virtualization 
學科別分類
中文摘要 雲端技術讓用戶只需簡單的用戶端軟硬體即可存取雲端伺服器中的資料、應用程式以及圖形化桌面環境,伺服器端使用硬體虛擬技術來支援大量且獨立的使用者運算環境,其中包含了提供使用者圖形化桌面的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起公開。


  • 如您有疑問,請聯絡圖書館
    聯絡電話:(06)2757575#65773
    聯絡E-mail:etds@email.ncku.edu.tw