×

Virtual machine spanning multiple computers

  • US 7,596,654 B1
  • Filed: 01/26/2006
  • Issued: 09/29/2009
  • Est. Priority Date: 01/26/2006
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • a plurality of computers coupled to a network, wherein each of the plurality of computers comprises one or more software modules which, when executed on the computer, present resources of the plurality of computers as a virtual machine on which a single instance of a guest operating system executes, during use;

    wherein the virtual machine is a non-uniform memory access (NUMA) system implementing a single writer, multiple reader memory model;

    wherein the guest operating system is designed to execute on a NUMA system and executes without modification on the virtual machine;

    wherein each of the plurality of computers comprises a memory addressable via a local memory address space, and wherein a guest physical address space used by the guest operating system is divided into a plurality of ranges, and wherein a range of the plurality of ranges is mapped to a first portion of the memory in a computer of the plurality of computers, and wherein a corresponding portion of the guest physical address space is mapped to a first portion of the local memory address space that is assigned to the first portion of the memory;

    wherein each memory comprises additional storage not mapped to any range of the plurality of ranges, and wherein the software modules use at least some of the additional storage to cache copies of data corresponding to guest physical addresses in other ones of the plurality of ranges, and wherein a second portion of the local memory address space is assigned to the additional storage, wherein the second portion is separate from the first portion of the local memory address space; and

    wherein an access to a first guest physical address that is in one of the other ones of the plurality of ranges and that is not cached in the additional storage results in a page fault, and wherein a page fault handler module, which is one of the software modules, is executed in response to the page fault and determines that the page fault occurred because the first guest physical address is not cached in the additional storage, and wherein the page fault handler is configured to issue a request to acquire data corresponding to the first guest physical address from another one of the plurality of computers.

View all claims
  • 9 Assignments
Timeline View
Assignment View
    ×
    ×