Cluster-based operating system-agnostic virtual computing system
DCFirst Claim
Patent Images
1. A computer system, comprising:
- a cluster of computing nodes, each computing node comprising;
a memory;
a network interface device, which connects the computing node to a network interconnecting the computing nodes in the cluster; and
at least one CPU, which is configured to run a respective virtual machine implementer program on the computing node, while communicating via the network interface device with other computing nodes in the cluster, wherein the other computing nodes run respective virtual machine implementer programs, so that the respective virtual machine implementer programs jointly support a shared virtual machine implemented concurrently on two or more of the computing nodes, wherein a guest operating system runs on the shared virtual machine, and instructions of the guest operating system are distributed for execution among the nodes as though the system were a single symmetric multiprocessing machine with shared memory.
2 Assignments
Litigations
0 Petitions
Accused Products
Abstract
According to a disclosed embodiment of the invention, an improved cluster-based collection of computers (nodes) is realized using conventional computer hardware. Software is provided that enables at least one virtual machine to be presented to guest operating systems, wherein each node participating with the virtual machine has its own emulator or virtual machine monitor. VM memory coherency and I/O coherency are provided by hooks, which result in the manipulation of internal processor structures. A private network provides communication among the nodes.
62 Citations
28 Claims
-
1. A computer system, comprising:
a cluster of computing nodes, each computing node comprising; a memory; a network interface device, which connects the computing node to a network interconnecting the computing nodes in the cluster; and at least one CPU, which is configured to run a respective virtual machine implementer program on the computing node, while communicating via the network interface device with other computing nodes in the cluster, wherein the other computing nodes run respective virtual machine implementer programs, so that the respective virtual machine implementer programs jointly support a shared virtual machine implemented concurrently on two or more of the computing nodes, wherein a guest operating system runs on the shared virtual machine, and instructions of the guest operating system are distributed for execution among the nodes as though the system were a single symmetric multiprocessing machine with shared memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A method for computing, comprising:
-
providing a cluster of computing nodes interconnected by a network, each computing node comprising at least one CPU, a memory, and a network interface device, which connects the computing node to the network interconnecting the plurality of the computing nodes; and running respective virtual machine implementer programs on the at least one CPU in two or more of the computing nodes, while communicating among the two or more of the computing nodes via the network interface device, wherein the respective virtual machine implementer programs jointly support a shared virtual machine implemented concurrently on the two or more of the computing nodes, wherein a guest operating system runs on the shared virtual machine, and instructions of the guest operating system are distributed for execution among the nodes as though the system were a single symmetric multiprocessing machine with shared memory. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer software product, comprising a non-transitory computer-readable medium in which program instructions are stored, which instructions are configured to run on a cluster of computing nodes, each computing node including a memory, a network interface device, which connects the computing node to a network interconnecting the computing nodes in the cluster, and at least one CPU,
wherein the instructions cause the at least one CPU to run a respective virtual machine implementer program on the computing node, while communicating via the network interface device with other computing nodes in the cluster, wherein the other computing nodes run respective virtual machine implementer programs, so that the respective virtual machine implementer programs jointly support a shared virtual machine implemented concurrently on two or more of the computing nodes, wherein a guest operating system runs on the shared virtual machine, and instructions of the guest operating system are distributed for execution among the nodes as though the system were a single symmetric multiprocessing machine with shared memory.
-
25. A computer system, comprising:
a cluster of computing nodes, each computing node comprising; a physical memory; a network interface device, which connects the computing node to a network interconnecting the computing nodes in the cluster; and at least one CPU, which is configured to run a respective virtual machine implementer program on the computing node, while communicating via the network interface device with other computing nodes in the cluster, wherein the other computing nodes run respective virtual machine implementer programs, so that the respective virtual machine implementer programs jointly support a shared virtual machine implemented concurrently on two or more of the computing nodes, wherein a guest operating system runs on the shared virtual machine, which presents a single coherent shared memory to the guest operating system, using the physical memory that is distributed across multiple nodes. - View Dependent Claims (26, 27, 28)
Specification