메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

박병수 (포항공과대학교, 포항공과대학교 일반대학원)

지도교수
박찬익
발행연도
2015
저작권
포항공과대학교 논문은 저작권에 의해 보호받습니다.

이용수2

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (2)

초록· 키워드

오류제보하기
Mobile virtualization is currently a hot issue, because of growing security concern in Bring Your Own Device (BYOD) environment. Most workers use their mobile devices for work without any security policy enforced. Therefore, company secrets can be leaked by malignant code in a worker’s mobile devices, so the company want to separate the business environment from the private usage environment. Virtualization is one of the promising solutions to separate environments logically.
It is quite challenging to virtualize GPU device in mobile platform because of its proprietary device driving architecture. GPU virtualization is essential in mobile virtualization, because GPU conducts core roles such as fast UI and web flash service. There are two types of device virtualization techniques: full virtualization and para-virtualization.
In this thesis, GPU device is virtualized by para-virtualization. The para-virtualized GPU driver consists of the frontend driver in guest domain and the backend driver in host domain. This kind of device driver is called Split device driver. According to communication methods between the frontend driver and the backend driver, three different device driver models are designed and implemented. Firstly, Model 1 uses hypercall-based communication. Model 2 uses host polling to receive requests (e.g. file operations) from the guest domain and virtual interrupt to send results back to the guest domain. Model 3 uses polling-based communication for both guest and host domains.
It is shown from experimental evaluations that Model 3 is the best solution for communication between guest and host when a guest VM runs only one GPU benchmark or a lightweight GPU benchmark with CPU-intensive benchmarks. Model 2 is the best solution when a VM runs a heavy GPU benchmark with CPU-intensive benchmarks or a GPU benchmark with latency-intensive job. Model 2 is also best solution from a point of CPU-intensive benchmarks. Model 1 is not bad when VM runs only one GPU benchmark, because a VM stop running a vCPU when running a hypercall. That is, Model 1 is not a choice when the VM runs several benchmarks and there is/are GPU benchmark(s) among them.
In summary, when it comes to performance, Model 3 shows the best result. However it results in worst background jobs performance because it consumes lots of CPU cycles due to the polling mechanism. In contrast, Model 2 gives the best results for the background jobs because it does not require additional CPU cycles. To take advantage of both approaches, we have plan to combine the polling approach with the H/W based low-overhead communication mechanism such as IPI.

목차

I. 서론 1
1.1. 문제 정의 2
II. 배경지식 4
2.1. KVM / ARM 4
2.2. Android Graphics Stack 6
2.2.1. Ion 6
2.2.2. Vsync 7
2.2.3. Fence 10
2.3. Polling 12
III. 시스템 설계 13
3.1. Split Device Driver 기반 GPU 가상화 모델 기본 구조 13
3.2. 동기적 / 비동기적 통신 방법 15
3.3. 디바이스 통신 모델 16
3.3.1. 모델1: 하이퍼콜 모델 17
3.3.2. 모델 2: 호스트 Polling & 게스트 가상 인터럽트 모델 17
3.3.3. 모델 3: 호스트 Polling & 게스트 Polling 모델 19
IV. 구현 21
4.1. Split Device Driver 모델 기본 구조 21
4.2. 모델 1: 하이퍼콜 모델 22
4.3. 모델 2: 호스트 Polling & 게스트 가상 인터럽트 모델 22
4.4. 모델 3: 호스트 Polling & 게스트 Polling 모델 23
V. 성능 평가 및 검증 24
5.1. 실험 환경 24
5.2. 단일 GPU 구동 시 성능 측정 25
5.3. GPU 와 백그라운드 응용이 동시 구동 될 경우 29
5.3.1. GPU 응용 입장 29
5.3.2. CPU-Intensive 응용 입장 32
5.3.3. Latency-Intensive 응용 입장 34
VI. 관련 연구와 비교 35
6.1. Mobile GPU Virtualization 35
6.2. VirtIO & VHost 36
VII. 결론 및 향후 연구 38
REFERENCES 40

최근 본 자료

전체보기

댓글(0)

0