Address translation for shared-memory multiprocessor clustering
First Claim
1. A method of managing memory addressing in a system including a plurality of cluster nodes interconnected by a network, wherein each of the cluster nodes has an associated local physical memory that is accessible over an associated local network, said method comprising the steps of:
- for each node, defining an address space that comprises a local address space and a global address space, wherein the local address space for each node maps to the local physical memory for that node;
at each cluster node, dividing the local address space into a private memory address space and a near global memory address space, wherein the private memory space of all of the cluster nodes is accessed exclusively by the cluster node with which that local physical memory is associated and wherein the near global memory space is accessible by all cluster nodes among said plurality of cluster nodes;
partitioning the global address space into a plurality of global memory address space partitions; and
mapping the plurality of partitions to the near global memory address spaces of the cluster nodes so that each partition is mapped to the near global memory address space of a different one of said plurality of cluster nodes.
2 Assignments
0 Petitions
Accused Products
Abstract
An address translation method for use in a system including a plurality of cluster nodes and including the steps of: at a source node, receiving over a first network a communication with a first destination address having an index portion and an offset portion, wherein the index portion includes a partition number portion; providing an address mapping table which maps a plurality of indexes to a corresponding plurality of node ID'"'"'s, each of the plurality of node ID'"'"'s identifying a different one of the plurality of cluster nodes; using the index portion from the first destination address as an index into the address mapping table to identify a node ID, wherein the identified node ID identifies a destination node; appending the identified node ID to the first destination address to generate a second destination address; and using the second destination address to send information to a second network of the destination node.
-
Citations
20 Claims
-
1. A method of managing memory addressing in a system including a plurality of cluster nodes interconnected by a network, wherein each of the cluster nodes has an associated local physical memory that is accessible over an associated local network, said method comprising the steps of:
-
for each node, defining an address space that comprises a local address space and a global address space, wherein the local address space for each node maps to the local physical memory for that node; at each cluster node, dividing the local address space into a private memory address space and a near global memory address space, wherein the private memory space of all of the cluster nodes is accessed exclusively by the cluster node with which that local physical memory is associated and wherein the near global memory space is accessible by all cluster nodes among said plurality of cluster nodes; partitioning the global address space into a plurality of global memory address space partitions; and mapping the plurality of partitions to the near global memory address spaces of the cluster nodes so that each partition is mapped to the near global memory address space of a different one of said plurality of cluster nodes. - View Dependent Claims (2, 3)
-
-
4. An address translation method for use in a system including a plurality of cluster nodes, the system having a global address space shared by different cluster nodes, said method comprising the steps of:
-
at a source node, receiving over a first network a communication with a first destination address in the global address space having an index portion and an offset portion, said source node being one of said plurality of cluster nodes and said index portion including a partition number portion that identifies a partition of global memory residing on a cluster node; providing an address mapping table which maps a plurality of indexes to a corresponding plurality of node ID'"'"'s, each of said plurality of node ID'"'"'s identifying a different one of said plurality of cluster nodes; using the index portion from the first destination address as an index into the address mapping table to identify a node ID, wherein the identified node ID identifies a destination node, said destination node being one of said plurality of cluster nodes and having physical memory containing a near global memory space defined therein; appending the identified node ID to the first destination address to generate a second destination address; and using the second destination address to send information to a second network of the destination node. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
-
-
12. An address translation method for use in a system including a plurality of cluster nodes, the system having a global address space shared by different cluster nodes, said method comprising the steps of:
-
at a destination node, receiving from a source node a communication which includes a destination address in the global address space containing a node ID, an index portion, and an offset portion, the index portion having a partition number portion that identifies a partition of global memory residing on a cluster node, said destination node and source nodes being members of said plurality of cluster nodes and having physical memory containing a near global memory space defined therein; removing the node ID from the destination address; setting the partition number portion in the destination address equal to a preselected number to produce a first address; and using the first address to access the near global memory space at the destination node. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A cluster interface for use in a system including a plurality of cluster nodes which are connected by a main network, the system having a global address space shared by different cluster nodes, said cluster interface comprising:
-
first means for receiving over a local network a communication having a first destination address in the global address space, said first destination address including an index portion and an offset portion; an address mapping table which maps a plurality of indexes to a corresponding plurality of destination node ID'"'"'s, wherein each destination node ID identifies a different one of the cluster nodes among said plurality of cluster nodes; second means for converting the first destination address to a second destination address, said second means generating the second destination address by appending an identified destination node ID from the address mapping table to said first destination address; and third means for sending the communication over a second network using the second destination address.
-
-
20. A cluster interface for use in a cluster node which is connected by a main network to a plurality of other cluster nodes and which is connected to a local memory that is partitioned into local memory space and a near global memory space, the cluster nodes sharing a global address space, said cluster interface comprising:
-
means for receiving from a source node a communication which includes a destination address in the global address space containing a node ID, an index portion, and an offset portion, the index number portion having a partition number portion that identifies a partition of global memory residing on a cluster node, said destination node and source nodes being members of said plurality of cluster nodes; means for removing the node ID from the destination address; means for setting the partition number portion in the destination address equal to a preselected number to produce a first address; and means for using the first address to access the near global memory space.
-
Specification