12 Apr 2023

Xen and the Art of Virtualization

Reference papers:

[1] Xen and the Art of Virtualization

Summary

Barham et al. introduce a Virtual Machine Monitor (VMM) called Xen. The main contribution of their approach is their implementation of paravirtualization – modifying the guest OSes to provide efficient virtualization efficiency. The authors first introduce the concept and need for virtualization and the various existing approaches by which virtualization is achieved. The authors then give an overview of the Xen architecture and how it virtualizes memory, CPU and IO. Paravirtualization lies at the heart of Xen, the guest OSes are modified in a way to allow then to be aware of the presence of a hypervisor (without modifying the ABI so that the applications are not affected). Some key features of Xen discussed by the authors include its support for dynamic VM management, support for multiple guest operating systems including Linux, Windows, and NetBSD, and its high-performance design that allows for efficient resource allocation and improved scalability. Finally, the authors perform extensive evaluations to study the performance of Xen and compare it to the performance of Native OSes and VMWare ESX. The evaluations are carried out on several benchmarks that test various aspects of Xen’s performance and the results show that even with virtualization, the applications achieve close to native performance.

Positive Points

  • Xen is one of the first VMMs to introduce and apply the idea of paravirtualization to achieve better virtual- ization performance. The idea of modifying to guest OSes to allow of efficient virtualization was pretty novel and difficult to implement, but the authors proved that it provides great virtualization performance.
  • The paper has plenty of technical details and the ideas are well explained through sufficient illustrations and explanations wherever necessary. For instance, Fig. 2 illustrating the circular buffer for async. IO is very helpful for the readers.
  • The evaluations carried out by the authors include several different benchmarks each testing a different aspect of Xen. This evaluation strategy is exemplary and it is great for evaluating a VMM holistically. Figure 3 and Table 4 highlight the efficiency of Xen by directly comparing it to the native performance of applications.

Drawbacks

  • The authors do not evaluate the overheads involved in the requirement of the hypervisor being required to validate each privileged instruction. It would have been helpful if the authors included an experiment studying the various overheads involved in Xen.
  • Since Xen utilizes paravirtualization that requires modification of the guest OSes, it may not always be possible to utilize Xen. Specially in case of closed source OSes, it is difficult to modify the source code and apply these ideas.
  • The paper does not discuss security considerations and potential vulnerabilities associated with virtualization, such as VM escape attacks or the impact of shared resources on security isolation. Given the critical nature of security in virtualized environments, a more thorough discussion of security aspects would have been beneficial.

Research Questions

  1. How does Xen’s approach of paravirtualization compare with VMware’s binary translation in terms of porta- bility and performance? – VMware seems to have the upper hand in portability but may lose in terms of performance.
  2. How would Hardware support for VMs (HVM) affect Xen’s design?
  3. What limits the scalability of Xen to 100 VMs?

Tags: