Professors Wang and Luo and their group in the Department of Computer Science and Technology, Peking University (PKU), have recently introduced a new memory virtualization technique called Dynamic Memory Paravirtualization (DMP). With DMP, binary code in the guest operating system can be dynamically patched by the hypervisor for improved performance. Their study is published in Issue 53 (January 2010) of SCIENCE CHINA Information Science and is a significant contribution to system virtualization technology.
Virtualization, as a key technical basis of cloud computing, is predicted to have the highest impact on the future trends of service center infrastructure and operations through to 2012. Both Intel and AMD have redesigned their processors to enable hardware virtualization support. Several kinds of virtual machine monitors, such as Xen, VMware and KVM, have been developed using paravirtualization or full virtualization technology.
Paravirtualization can reduce the overhead of virtualization dramatically, but the source code of the guest operating system needs to be modified following the paravirtualization guide. Full virtualization does not require any change to the existing guest operation system, but usually needs virtualization assistance from hardware, and thus suffers a significant loss of performance.
As shown in the figure above, dynamic paravirtualization, as the core idea of DMP, differing from both paravirtualization and full virtualization, introduces a novel approach to designing a virtual machine monitor. In dynamic paravirtualization, the virtual machine monitor dynamically monitors and replaces hot instructions, which cause the greatest overhead for virtualization, in the guest operating system. The replacement of hot instructions is completely transparent to the guest operating system. “We are able to gain the performance benefit of paravirtualization while keeping the applicability of full virtualization to legacy operation systems”, said Professors Wang and Luo.
In this work, DMP focuses on the performance of memory virtualization. The technique involves exposing some of the hypervisor address translation structures to the guest and changing instructions that cause lots of page table traps so that the guest can use the exposed structures directly instead of trapping to the hypervisor. “Although we focus on memory virtualization in this paper, our design leaves the interfaces for paravirtualizing I/O”, said Prof. Wang, “We plan to use adaptive code implantation to eliminate the I/O related VM exits and improve the performance of I/O virtualization”.
“This paper presents an interesting approach, called dynamic paravirtualization, where VM ‘exits’ are dynamically replaced by code that avoids a trap,” said one reviewer . “This is a very nice design point,” said another reviewer , “This is a nice paper, I like the idea and I think it will work well.”
The authors are affiliated to the Institute of Network Computing and Information Systems (NCIS, http://ncis.pku.edu.cn) at Peking University. This institute is led by Prof. Xiaoming Li and conducts research mainly in the fields of high productivity computing, search engine and Web mining (information systems), distributed systems, Internet and mobile computing, and database technology.
Funding from the National Grand Fundamental Research 973 Program of China (Grant No. 2007CB310900), the National Natural Science Foundation of China (Grants No. 90718028 and 60873052), the National High Technology Research 863 Program of China (Grant No. 2008AA01Z112), and the MOE-Intel Information Technology Foundation (Grant No. MOE-INTEL-08-09) supported this research.
Reference:
Wang X L, Sun Y F, Luo Y W, et al. Dynamic memory paravirtualization transparent to guest OS, Sci China Inf Sci, 2010, 53: 77, doi: 10.1007/s11432-010-0008-x
http://www.springerlink.com/content/m3371852p5370q37/