Popek and Goldberg Virtualization Requirements - Performance in Practice

Performance in Practice

The efficiency requirement in Popek and Goldberg's definition of a VMM concerns only the execution of non-privileged instructions, which must execute natively. This is what distinguishes a VMM from the more general class of hardware emulation software. Unfortunately, even on an architecture that meets Popek and Goldberg's requirements, the performance of a virtual machine can differ significantly from the actual hardware. Early experiments performed on the System/370 (which meets the formal requirements of Theorem 1) showed that performance of a virtual machine could be as low as 21% of the native machine in some benchmarks. The cost of trapping and emulating privileged instructions in the VMM can be significant. This led the IBM engineers to introduce a number of hardware assists, which roughly doubled the performance of the System/370 virtual machines. Assists were added in several stages. In the end, there were over 100 assists on the late models System/370.

One of the main driving factors for the development of hardware assists for the System/370 was virtual memory itself. When the guest was an operating system that itself implemented virtual memory, even non-privileged instructions could experience longer execution times - a penalty imposed by the requirement to access translation tables not used in native execution (see shadow page tables).

Read more about this topic:  Popek And Goldberg Virtualization Requirements

Famous quotes containing the words performance and/or practice:

    Having an identity at work separate from an identity at home means that the work role can help absorb some of the emotional shock of domestic distress. Even a mediocre performance at the office can help a person repair self-esteem damaged in domestic battles.
    Faye J. Crosby (20th century)

    I am out of practice at living.
    You are as brave as a motorcycle.
    Anne Sexton (1928–1974)