Information Technology
Managing Memory in Virtualized Computer Systems
WARF: P150108US01
Inventors: Mark Hill, Michael Swift, Jayneel Gandhi
The Wisconsin Alumni Research Foundation (WARF) is seeking commercial partners interested in combining two state-of-the-art techniques to improve memory address translation.
Overview
Computer programs access memory using virtual addresses, which are translated by hardware into unique physical addresses that locate the data in the cache or memory. The set of virtual addresses accessible to a running program is termed an address space, and operating systems provide the hardware with mapping of virtual addresses to physical addresses called a page table.
Virtual memory has been tremendously successful at simplifying programming and enabling many performance optimizations. However, its use has become more expensive with the rise of virtualized systems. In these systems, a hypervisor or virtual machine monitor (VMM) provides a virtual machine to one or more guest operating systems. Each virtual machine can run a separate (and different, if desired) operating system.
In virtualized systems, address translation must occur twice: once with a page table provided by the guest operating system and once with a page table provided by the VMM. The two widely accepted techniques for mapping virtualized memory are called shadow paging and nested paging. Shadow paging works well with more static programs that rarely modify address translations, while nested paging works better with dynamic programs. Presently, hardware restrictions allow only one or the other technique to be used at a time.
Virtual memory has been tremendously successful at simplifying programming and enabling many performance optimizations. However, its use has become more expensive with the rise of virtualized systems. In these systems, a hypervisor or virtual machine monitor (VMM) provides a virtual machine to one or more guest operating systems. Each virtual machine can run a separate (and different, if desired) operating system.
In virtualized systems, address translation must occur twice: once with a page table provided by the guest operating system and once with a page table provided by the VMM. The two widely accepted techniques for mapping virtualized memory are called shadow paging and nested paging. Shadow paging works well with more static programs that rarely modify address translations, while nested paging works better with dynamic programs. Presently, hardware restrictions allow only one or the other technique to be used at a time.
The Invention
UW–Madison researchers have developed a so-called compound page table system that blends features of shadow paging and nested paging to improve efficiency. Memory regions with stable address mapping (e.g., holding program code) may be treated using shadow paging while regions with dynamic address mapping (e.g., variable storage) may be treated using nested paging. Thus, the benefits of both techniques can be obtained.
Applications
- Implementation in virtual machine monitors (VMMs)
- Upgrade for devices and systems, like search engine servers and databases, that frequently access large amounts of data in memory
- Particularly useful for larger workloads with a variety of static and dynamic memory allocation, such as frequent use of memory-mapped files
Key Benefits
- Efficient memory management
- Leverages the benefits of two state-of-the-art techniques
- Provides flexibility and freedom
Additional Information
For More Information About the Inventors
Related Technologies
Tech Fields
For current licensing status, please contact Emily Bauer at [javascript protected email address] or 608-960-9842