研究生: |
黎士瑋 Li, Shih-Wei |
---|---|
論文名稱: |
ARMvisor 之記憶體虛擬化設計 Memory Virtualization for ARMvisor |
指導教授: |
鍾葉青
Chung, Yeh-Ching |
口試委員: |
鍾葉青
Chung, Yeh-Ching 李哲榮 Lee, Che-Rung 劉廣治 Liu, Kuang-Chih |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2012 |
畢業學年度: | 100 |
語文別: | 英文 |
論文頁數: | 46 |
中文關鍵詞: | 虛擬化 、作業系統 、計算機架構 |
外文關鍵詞: | Virtualization, Operating System, Computer Architecture |
相關次數: | 點閱:2 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
由於雲端運算的蓬勃發展,虛擬化技術在近期成為一個炙手可熱的研究議題。除了伺服器端的虛擬化應用,近來許多人將焦點放了在於對嵌入式裝置的虛擬化以提升系統安全,穩定性以及支援多元作業系統的執行。為了對嵌入式虛擬化有更深入的研究,我們以KVM為基礎開發出ARMvisor這個hypervisor來虛擬化ARMv6的處理器平台。事實上,為了要正確的達成虛擬機器端記憶體地址的轉換和對虛擬機器和hypervisor的隔離,記憶體虛擬化的設計通常在hypervisor中是最為複雜的。本論文將對ARMvisor的中我們記憶體虛擬化針對ARMv6 MMU的不同設計作深入的探討。我們使用shadow page table將客戶端的虛擬地址轉換成宿主端的實體記憶體地址。而為了有效率的讓客戶端虛擬機器在宿主端的user mode執行以達成對宿主端的保護,我們善加利用了ARM MMU所提供的domain這項功能。除此之外,我們提出了paravirtualization的技巧包括PT modification hypercalls 和 ASID re-mapping來提升系統效能。最後我們利用了數據說明這些效能優化技巧對客戶端虛擬機器的影響。
Virtualization technology has been a hot topic in recent years due to the prevalence of cloud computing. However, many have shifted their focus from server side virtualization to embedded virtualization to enhance security and boost system reliability, increase software portability and support execution of heterogeneous OSs. We have implemented ARMvisor, a KVM based hypervisor that is capable of virtualizing ARMv6 architecture. Memory virtualization is known to be the most complicated part in the design of a hypervisor. The correctness of in-directed memory translation in guest virtual machines must be ensured while isolating virtualization machines from accessing the hypervisor. In this thesis, we will cover several design strategies we have adopted for memory virtualization in ARMvisor for ARMv6 MMU. We use shadow page tables to translate guest virtual address to host physical address. ARM’s domain is used to efficiently transform and de-privilege guest VMs in user mode. We further propose paravirtualization techniques including PT modification hypercalls and ASID re-mapping to optimize the performance. The evaluation of benchmarks in both LMBench and MiBench will be demonstrated in the thesis.
[1]
G. Heiser, “The role of virtualization in Embedded Systems,”IIES '08 In Proceedings of the 1st workshop on Isolation and integration in embedded systems, 2008 .
[2]
J.-H. Ding, S.-W. Li, W.-C. Hsu, Y.-C. Chung, “ARMvisor: System Virtualization For ARM,” CTHPC 2011, 2011.
[3]
D. Brash, “Extensions to the ARMv7-A Architecure,” Hot Chips 22, Stanford University, California, Aug 2010.
[4]
G. J. Popek, R. P. Goldberg, “Formal requirements for virtualizable third generation architectures,”Communications of the ACM, vol. 17, no. 7, p. 412–421, 1974.
[5]
F.-L. Liao,“Memory Virtualization for KVM-ARM,” July, 2011.
[6]
J. Fornaeus, “Device hypervisors,” In Proceedings of the 47th Design Automation Conference (DAC '10). ACM, New York, NY, USA, 2010.
[7]
G. Heiser, B. Leslie,“The OKL4 microvisor: convergence point of microkernels and hypervisors,” APSys‘10 Proceedings of the first ACM asia-pacific workshop on Workshop on systems, 2010.
[8]
G. Heiser, “Hardware-Supported Virtualization on ARM,” In Proceedings of the Second Asia-Pacific Workshop on Systems 2011, 2011.
[9]
K. Barr, P. Bungale, S. Deasy, V. Gyuris, P. Hung, C. Newell, H. Tuch, B. Zoppis, “The VMware mobile virtualization platform: is that a hypervisor in your
43
pocket?,” In ACM SIGOPS Operating Systems Review, New York, NY, USA , December 2010 .
[10]
Trango, “Trango: secured virtualization on ARM”.
[11]
VirtualLogix, “VirtualLogix Real-Time Virtualization and VLX”.
[12]
U. Steinberg, B. Kauer, “NOVA: a microhypervisor-based secure virtualization architecture,” In Proceedings of the 5th European conference on Computer systems, Paris, France, April 13-16, 2010.
[13]
J. Andrus, C. Dall, A. Van't Hof, O. Laadan, J. Nieh, “Cells: A Virtual Mobile Smartphone Architecture,” In Proceedings of the Twenty-Thrid ACM Symposum on Operating Systems Principles, 2011.
[14]
P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, A. Warfield, “Xen and the art of virtualization,” 於 ACM SIGOPS Operating Systems Review - SOSP '03, December 2003 .
[15]
J.-Y. Hwang, S.-B. Suh, S.-K. Heo, C.-J. Park, J.-M. Ryu, S.-Y. Park, C.-R. Kim, “Xen on ARM: System Virtualization using Xen Hypervisor for ARM-based Secure Mobile Phones,” In Consumer Communications and Networking Conference, 2008. CCNC 2008. 5th IEEE, 10-12 Jan. 2008.
[16]
C. Dall, J. Nieh, “KVM for ARM,” In Proceedings of Linux Symposium 2011, Ottawa, Canada, 2011.
[17]
L. McVoy, C. Staelin, “lmbench: Portable tools for performance analysis,” In ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference, 1996.
[18]
M. Guthaus, J. Ringenberg, D. Ernest, T. Austin, T. Mudge, R. B. Brown,
44
“MiBench: A free, commercially representative embedded benchmark suite,” In WWC '01 Proceedings of the Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop, 2001.
[19]
Y. Xu, F. Bruns, E. Gonzalez, S. Traboulsi, K. Mott, A. Bilgic, “Performance Evaluation of Para-virtualization on Modern Mobile Phone Platform,” In Proceedings of International Conference on Electrical, and System Science and Engineering, Penang, Malaysia, February 24-26, 2010.
[20]
K. Adams 且 O. Agesen, “A comparison of software and hardware techniques for x86 virtualization,” In Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, San Jose, California, USA , October 21-25, 2006.