This book focuses on the core question of the necessary architectural support provided by hardware to efficiently run virtual machines, and of the corresponding design of the hypervisors that run them. Virtualization is still possible when the instruction set architecture lacks such support, but the hypervisor remains more complex and must rely on additional techniques.
Despite the focus on architectural support in current architectures, some historical perspective is necessary to appropriately frame the problem. The first half of the book provides the historical perspective of the theoretical framework developed four decades ago by Popek and Goldberg. It also describes earlier systems that enabled virtualization despite the lack of architectural support in hardware.
As is often the case, theory defines a necessary (but not sufficient) set of features, and modern architectures are the result of the combination of the theoretical framework with insights derived from practical systems. The second half of the book describes state-of-the-art support for virtualization in both x86-64 and ARM processors. This book includes an in-depth description of the CPU, memory, and I/O virtualization of these two processor architectures, as well as case studies on the Linux/KVM, VMware, and Xen hypervisors. It concludes with a performance comparison of virtualization on current-generation x86- and ARM-based systems across multiple hypervisors.
Table of Contents
The Popek/Goldberg Theorem
Virtualization without Architectural Support
x86-64: CPU Virtualization with VT-x
x86-64: MMU Virtualization with Extended Page Tables
x86-64: I/O Virtualization
Virtualization Support in ARM Processors
Comparing ARM and x86 Virtualization Performance
About the Author(s)Edouard Bugnion
, Ecole Polytechnique Federale de Lausanne (EPFL) - Switzerland
Edouard Bugnion is a Professor in the School of Computer and Communication Sciences at EPFL in Lausanne, Switzerland. His areas of interest include operating systems, datacenter infrastructure (systems and networking), and computer architecture. Before joining EPFL, Edouard spent 18 years in the U.S., where he studied at Stanford and co-founded two startups: VMware and Nuova Systems (acquired by Cisco). At VMware from 1998-2005, he played many roles including CTO. At Nuova/Cisco from 2005-2011, he helped build the core engineering team and became the VP/CTO of Cisco's Server, Access, and Virtualization Technology Group, a group that brought to market the Unified Computing System (UCS) platform for virtualized datacenters. Together with his colleagues, Bugnion received the ACM Software System Award for VMware 1.0 in 2009. His paper on Disco received a Best Paper Award at SOSP '97 and was entered into the ACM SIGOPS Hall of Fame Award. At EPFL, he received the OSDI 2014 Best Paper Award for his work on the IX dataplane operating system. Bugnion has a Dipl.Eng. degree from ETH Zurich, an M.Sc. and a Ph.D. from Stanford University, all in computer science.Jason Nieh
, Columbia University
Jason Nieh is a Professor of Computer Science at Columbia University. He has made research contributions in software systems across a broad range of areas, including operating systems, virtualization, thin-client computing, cloud computing, mobile computing, multimedia, web technologies, and performance evaluation. Technologies he developed are now widely used in Android, Linux, and other major operating system platforms. Honors for his research work include the Sigma Xi Young Investigator Award, awarded once every two years in the physical sciences and engineering, a National Science Foundation CAREER Award, a Department of Energy Early Career Award, five IBM Faculty Awards and two IBM Shared University Research Awards, six Google Research Awards, and various best paper awards, including those from MobiCom, SIGCSE, SIGMETRICS, and SOSP. A dedicated teacher, he received the Distinguished Faculty Teaching Award from the Columbia Engineering School Alumni Association for his innovations in teaching operating systems and for introducing virtualization as a pedagogical tool. Nieh earned his B.S. from MIT and his M.S. and Ph.D. from Stanford University, all in electrical engineering.Dan Tsafrir
, Technion - Israel Institute of Technology
Dan Tsafrir is an Associate Professor at the Technion - Israel Institute of Technology. His research interests are focused on practical aspects of operating systems, hardware-software interactions, virtualization, security, and performance evaluation. Some of his research contributions were deployed in Linux and KVM. His work was featured in the Communications of the ACM research highlights section. He received the USENIX FAST best paper award, the IBM Pat Goldberg memorial best paper award (twice), the HiPEAC paper award (twice), the Klein research prize, the Henri Gutwirth award for outstanding research, and research/faculty awards from Google, IBM, Intel, Mellanox, and VMware. Tsafrir earned his B.Sc., M.Sc., and Ph.D. from the Hebrew University of Jerusalem, all in computing science (B.Sc. also in math). Before joining the Technion, he was a postdoctoral researcher at the IBM T.J. Watson Research Center, New York, in the Advanced Operating Systems Group (K42) and the BlueGene System Software Group.