or
Bookmark and Share
Virtual machine monitors for scalable multiprocessors
   
Document Number
US Patent 6075938
Issued Date
June 13, 2000
Link
Inventors
Map
Abstract
The problem of extending modern operating systems to run efficiently on large-scale shared memory multiprocessors without a large implementation effort is solved by a unique type of virtual machine monitor. Virtual machines are used to run multiple commodity operating systems on a scalable multiprocessor. To reduce the memory overheads associated with running multiple operating systems, virtual machines transparently share major data structures such as the operating system code and the file system buffer cache. We use the distributed system support of modem operating systems to export a partial single system image to the users. Two techniques, copy-on-write disks and the use of a special network device, enable transparent resource sharing without requiring the cooperation of the operating systems. This solution addresses many of the challenges facing the system software for these machines. The overheads of the monitor are small and the approach provides scalability as well as the ability to deal with the non-uniform memory access time of these systems. The overall solution achieves most of the benefits of operating systems customized for scalable multiprocessors yet it can be achieved with a significantly smaller implementation effort.
Drawing
Virtual machine monitors for scalable multiprocessors - US Patent 6075938 Drawing
Drawing from US Patent 6075938
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
16
Comments:
no comments yet
Published
June 13, 2000
Application Number
09/095,283
Filed
June 10, 1998
US Classification
703/27   709/214 710/23 711/148 711/153 719/321
Int'l Classification
G06F   12/10   (20060101)   G06F   9/46   (20060101)  
Examiner
Parent Case
This application claims priority from U.S. Provisional Patent Application 60/049,244 filed Jun. 10, 1997, which is incorporated herein by reference.
USPTO Field of Search
395/500.48   395/700   395/500.47   395/843   709/214   709/30   709/304   709/301   709/104   709/226   711/6   711/141   711/122   711/130   711/148   711/153   711/203   710/23  
Related Patents
6279094 - Method and apparatus for managing invalidation of virtual memory mapping table entries - Owned by Compaq Computer Corporation (Houston, TX)

A method and apparatus that operates within an object oriented virtual memory management system. The invention relates to invalidating mapping tables that are pointed to by PMOs (Partitioned Memory Objects). The PMOs specify locations of pages within the entire memory space of a process. The mapping tables specify locations of pages that have been swapped into a primary memory. In a preferred embodiment of the present invention, each PMO includes a plurality of MORs. Each MOR includes an involved bit. When a page is swapped into memory, the involved bits in all MORs relating to the page are set (except for the last MOR on a level). When a page is swapped out of memory, the present invention allows the mapping tables for the page to be invalidated in an efficient manner. Once a MOR having an involved bit clear is detected, there is no requirement to invalidate additional mapping tables for the path.

7275136 - Virtualization system for computers with a region-based memory architecture - Owned by VMware, Inc. (Palo Alto, CA)

In a computer system with a non-segmented, region-based memory architecture, such as Intel IA-64 systems, two or more sub-systems share a resource, such as a virtual-to-physical address mapping and need to have overlapping regions of the virtual address space for accessing different physical addresses. Virtual addresses include a portion that is used to identify which region the issuing sub-system wants to access. For example, the region-identifying portion of virtual addresses may select a region register whose contents point to a virtual-to-physical address mapping for the corresponding region. To protect a second sub-system S2 from a first S1, whenever the S1 issues an address in a region occupied by S2, the region for the S2 is changed. This allows S1 to issue its addresses without change. In a preferred embodiment of the invention, S2 is a virtual machine monitor (VMM) and S1 is a virtual machine running on the VMM.

7089377 - Virtualization system for computers with a region-based memory architecture - Owned by VMWare, Inc. (Palo Alto, CA)

In a computer system with a non-segmented, region-based memory architecture, such as Intel IA-64 systems, two or more sub-systems share a resource, such as a virtual-to-physical address mapping and need to have overlapping regions of the virtual address space for accessing different physical addresses. Virtual addresses include a portion that is used to identify which region the issuing sub-system wants to access. For example, the region-identifying portion of virtual addresses may select a region register whose contents point to a virtual-to-physical address mapping for the corresponding region. To protect a second sub-system S2 from a first S1, whenever the S1 issues an address in a region occupied by S2, the region for the S2 is changed. This allows S1 to issue its addresses without change. In a preferred embodiment of the invention, S2 is a virtual machine monitor (VMM) and S1 is a virtual machine running on the VMM.

6289369 - Affinity, locality, and load balancing in scheduling user program-level threads for execution by a computer system - Owned by International Business Machines Corporation (Armonk, NY)

A technique for dynamically exploiting affinity, locality, and load balancing in scheduling the execution of multi-threaded user programs in a multi-processor computer system. Affinity, locality, and load balancing characteristics are specified at thread creation time and can be dynamically changed during thread execution, either by the user program itself or by any other process or entity with sufficient privileges and information. A central schedule queue and one or more per-processor local schedule queues are used to schedule the threads based on the dynamically changing affinity, locality, and load balancing characteristics.

7484208 - Virtual machine migration

A source virtual machine (VM) hosted on a source server is migrated to a destination VM on a destination server without first powering down the source VM. After optional pre-copying of the source VM's memory to the destination VM, the source VM is suspended and its non-memory state is transferred to the destination VM; the destination VM is then resumed from the transferred state. The source VM memory is either paged in to the destination VM on demand, or is transferred asynchronously by pre-copying and write-protecting the source VM memory, and then later transferring only the modified pages after the destination VM is resumed. The source and destination servers preferably share common storage, in which the source VM's virtual disk is stored; this avoids the need to transfer the virtual disk contents. Network connectivity is preferably also made transparent to the user by arranging the servers on a common subnet, with virtual network connection addresses generated from a common name space of physical addresses.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us