Distributed page table, memory map and routing table for multiple node computing systems
AssigneeNVIDIA Corporation
InventorIsaac Gelado Fernandez
Life of this patent
Estimating the term…
Abstract
The present disclosure relates to a shared virtual address space for multi-node computing systems. The shared virtual address space includes a plurality of virtual addresses (e.g. virtual memory pages). A distributed, shared physical memory of the multi-node computing system is formed by combining the physical memory resources of the plurality of nodes. The shared virtual address space enables different nodes of a multi-node computing system to maintain an identical assignment of virtual addresses to physical memory addresses.
Claims20
A multi-node computing system configured to maintain a shared virtual address space, the multi-node node computing system comprising:
- a plurality of nodes, each respective node of the plurality of nodes comprising:
- processing circuitry configured to:
- maintain a respective subset of a distributed page table, the distributed page table providing a mapping of virtual addresses of the shared virtual address space to physical memory locations of a distributed physical memory,
- maintain a respective subset of a distributed virtual memory map, the distributed virtual memory map providing, for each respective virtual address in the shared virtual address space, an indication of whether the respective virtual address is in use or available, and
- maintain a routing table storing a node ID and a network address of at least one other node of the plurality of nodes;
- and
- memory configured to store the respective subset of the distributed page table and the respective subset of the distributed virtual memory map.
A computing node for a multi-node computing system configured to maintain a shared virtual address space, the computing node comprising:
- a central processing unit (CPU), configured to:
- maintain a respective subset of a distributed page table, the distributed page table providing a mapping of virtual addresses of the shared virtual address space to physical memory locations of a distributed physical memory,
- maintain a respective subset of a distributed memory map, the distributed memory map providing, for each respective virtual address in the shared virtual address space, an indication of whether the respective virtual address is in use or available, and
- maintain a routing table storing a node ID and a network address of at least one other node of the plurality of nodes;
- and
- a network interface configured to communicate with a CPU of at least one additional computing node of the multi-node computing system.
A method for providing a shared virtual address space for a multi-node computing system including a plurality of nodes, each respective node of the plurality of nodes including one or more processors and a respective physical memory, the method comprising:
- providing a first distributed data structure, the first distributed data structure being configured to maintain a mapping of virtual addresses of the shared virtual address space to physical memory locations in a shared physical memory;
- and
- providing a second distributed data structure, the second distributed data structure being configured to store, for each virtual address in the shared virtual address space, an indication of whether the respective virtual address is in use or available,
- wherein the providing the first distributed data structure comprises assigning, to each respective node of the plurality of nodes, a respective subset of the first distributed data structure, and
- wherein the providing the second distributed data structure comprises assigning, to each respective node of the plurality of nodes, a respective subset of the second distributed data structure.
Dependencies are inferred from the claim text.