HOME > Detail View

Detail View

Sharing memory and GPU for embedded virtualization

Sharing memory and GPU for embedded virtualization

Material type
학위논문
Personal Author
이치영
Title Statement
Sharing memory and GPU for embedded virtualization / Chiyoung Lee
Publication, Distribution, etc
Seoul :   Graduate School, Korea University,   2015  
Physical Medium
100장 : 천연색삽화, 도표 ; 26 cm
기타형태 저록
Sharing Memory and GPU for Embedded Virtualization   (DCOLL211009)000000059797  
학위논문주기
학위논문(박사)-- 고려대학교 대학원 : 컴퓨터·전파통신공학과, 2015. 8
학과코드
0510   6YD36   292  
General Note
지도교수: 유혁  
Bibliography, Etc. Note
참고문헌: 장 91-100
이용가능한 다른형태자료
PDF 파일로도 이용가능;   Requires PDF file reader(application/pdf)  
비통제주제어
Resource sharing , Memory extension , GPU virtualization , Embedded virtualization,,
000 00000nam c2200205 c 4500
001 000045841299
005 20150826161155
007 ta
008 150623s2015 ulkad bmAC 000c eng
040 ▼a 211009 ▼c 211009 ▼d 211009
085 0 ▼a 0510 ▼2 KDCP
090 ▼a 0510 ▼b 6YD36 ▼c 292
100 1 ▼a 이치영
245 1 0 ▼a Sharing memory and GPU for embedded virtualization / ▼d Chiyoung Lee
260 ▼a Seoul : ▼b Graduate School, Korea University, ▼c 2015
300 ▼a 100장 : ▼b 천연색삽화, 도표 ; ▼c 26 cm
500 ▼a 지도교수: 유혁
502 1 ▼a 학위논문(박사)-- ▼b 고려대학교 대학원 : ▼c 컴퓨터·전파통신공학과, ▼d 2015. 8
504 ▼a 참고문헌: 장 91-100
530 ▼a PDF 파일로도 이용가능; ▼c Requires PDF file reader(application/pdf)
653 ▼a Resource sharing ▼a Memory extension ▼a GPU virtualization ▼a Embedded virtualization
776 0 ▼t Sharing Memory and GPU for Embedded Virtualization ▼w (DCOLL211009)000000059797
900 1 0 ▼a Lee, Chi-young, ▼e
900 1 0 ▼a 유혁, ▼e 지도교수
900 1 0 ▼a Yoo, Hyuck, ▼e 지도교수
945 ▼a KLPA

Electronic Information

No. Title Service
1
Sharing memory and GPU for embedded virtualization (30회 열람)
View PDF Abstract Table of Contents

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Stacks(Thesis)/ Call Number 0510 6YD36 292 Accession No. 123052359 Availability Available Due Date Make a Reservation Service B M

Contents information

Abstract

In embedded virtualization, the virtual machines (VMs) use only the resources allocated to them, even if other resources are not in use. This degrades performance of applications on the VM and limits the number of concurrent processes. In addition, most of the previous studies on embedded virtualization have focused on the isolation of each VM to minimize interference among them. For example, the embedded virtualization research for smart phones isolates VMs to prevent leakage of business and private data. For smart TVs, it supports isolation between the TV modules and downloaded untrusted applications. The research for automotive vehicles also emphasizes the isolation between VMs to protect automotive control software from infotainment software.
Although isolation is significant in embedded virtualization, it limits the use of resources beyond the domain of a VM. This limitation causes the degradation of performance and real-time support owing to the lack of resources in the VM. For example, a VM cannot access the memory of another VM, even if it requires additional memory for processing and the other VM is not active. A peripheral device such as a GPU is similar to the case of memory. The VM can only use the GPU when the GPU is attached or provided as a logical GPU using hardware-level virtualization. However, the attachment of additional GPUs for each VM increases the cost and hardware-level GPU virtualization for an embedded system is not yet supported. Moreover, it is difficult to use the hardware-level GPU virtualization mechanism on various embedded systems because it depends on the GPU manufacturer. Therefore, embedded virtualization requires new mechanisms to allow the use of resources beyond the VM and that remain isolation-friendly.
This dissertation proposes new access mechanisms for computing resources (especially memory and GPU) that are located outside the domain of a VM. The proposed mechanisms also support isolation to protect the resources from the negative actions of a faulted VM. This study targets main memory and GPU. Memory is a necessary resource to execute processes and their performance is significantly influenced by the size of available memory. The GPU is essential for interaction with the user. The GPU renders and displays images to notify the status of the system to the user. Thus, I have selected memory and GPU as target devices to improve the performance and functionality of VMs by the alleviation of resource limits.
To overcome the limitation of memory, this study proposes a memory extension mechanism, called SwapBank, which allows a VM to use a portion of the memory in another VM as swap storage. The VM moves unused pages to the swap storage, which is provided by the other VM, and then loads new data for the current process into the space created by moving the unused pages. Through this process, SwapBank improves the performance of applications on the VM up to 38%. Further, it compresses the stored swap-out pages and removes their duplication to minimize the spatial overhead of the VM that provides the swap storage. This reduces 79% of the size of the swap storage.
To provide additional functionality beyond the VM boundary, this study proposes a GPU virtualization mechanism, called VADI, which allows all the VMs on the system to use the GPU. VADI provides library-level GPU virtualization to remove the manufacturer dependency of the GPU. This improves portability of the GPU virtualization mechanism to install on other systems. Through experiment, it is determined that VADI achieves 60 frame per seconds (fps) for rendering and displaying images of each VM; this is equal to the measured value in native system. Moreover, by the partitioning of the framebuffer and interrupts, VADI ensures the consistency of the GPU usage, even when a VM is faulted by an error.

Table of Contents

1 Introduction                                        1
1.1 Limit of Virtual Machine . . . . . . . . . . . .  1
1.2 Principles to Address the Virtual Machine Limit . 3
1.3 Goal and Scope of This Study . . . . . . . . . .  5
2 Background                                          9
2.1 Hypervisors for Embedded Virtualization . . . . . 9
2.2 TrustZone . . . . . . . . . . . . . . . . . . .  13
3 SwapBank: Extension of Available Memory            16
3.1 Motivation . . . . . . . . . . . . . . . . . . . 18
3.2 Existing Memory Extension Mechanisms . . . . . . 21
3.3 Design of SwapBank . . . . . . . . . . . . . . . 23
3.4 Implementation . . . . . . . . . . . . . . . . . 29
3.5 Evaluation . . . . . . . . . . . . . . . . . . . 37
3.6 Summary . . . . . . . . . . . . . . . . . . . .  45
4 VADI: GPU Virtualization for Virtual Machines      47
4.1 Motivation . . . . . . . . . . . . . . . . . . . 48
4.2 Automotive Virtualization and Safety . . . . . . 53
4.3 Virtualized Automotive Display System . . . . .  57
4.4 Evaluation . . . . . . . . . . . . . . . . . . . 69
4.5 Traditional GPU Virtulization . . . . . . . . .  82
4.6 Summary . . . . . . . . . . . . . . . . . . . .  85
5 Conclusion                                         87

New Arrivals Books in Related Fields