Implementation in virtual machine monitors particularly useful for larger workloads with a variety of static and dynamic memory allocation and efficient memory management.

About

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. 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  

Register for free for full unlimited access to all innovation profiles on LEO

  • Discover articles from some of the world’s brightest minds, or share your thoughts and add one yourself
  • Connect with like-minded individuals and forge valuable relationships and collaboration partners
  • Innovate together, promote your expertise, or showcase your innovations