Routing mechanisms in systems having multiple multi-processor clusters
First Claim
1. A computer system comprising a plurality of processor clusters interconnected by a plurality of global point-to-point links and having a global memory address space associated therewith, each cluster including a plurality of local nodes and an interconnection controller interconnected by a plurality of local point-to-point links, each cluster having a local memory address space associated therewith corresponding to a first portion of the global memory address space, wherein the interconnection controller in each cluster is mapped by the associated local nodes to a remainder portion of the global memory address space exclusive of the first portion, each cluster having routing information associated with each of the local nodes for facilitating communication between the local nodes and the interconnection controller via specific ones of the local links identified in the associated routing information, wherein the interconnection controller in each cluster is operable to maintain at least one local routing table relating each of the local nodes to at least one of the local links, at least one global routing table relating each of the other clusters to at least one of the global links, and memory mapping information relating each of the other clusters to respective portions of the remainder portion of the global memory address space, and wherein the interconnection controller in each cluster is operable to map locally generated transmissions directed to the remainder portion of the global memory address space to the global links using the memory mapping information and the at least one global routing table, and remotely generated transmissions directed to the local nodes to the local links using the at least one local routing table.
11 Assignments
0 Petitions
Accused Products
Abstract
A multi-processor computer system is described in which address mapping, routing, and transaction identification mechanisms are provided which enable the interconnection of a plurality of multi-processor clusters, wherein the number of processors interconnected exceeds limited address, node identification, and transaction tag spaces associated with each of the individual clusters.
134 Citations
18 Claims
- 1. A computer system comprising a plurality of processor clusters interconnected by a plurality of global point-to-point links and having a global memory address space associated therewith, each cluster including a plurality of local nodes and an interconnection controller interconnected by a plurality of local point-to-point links, each cluster having a local memory address space associated therewith corresponding to a first portion of the global memory address space, wherein the interconnection controller in each cluster is mapped by the associated local nodes to a remainder portion of the global memory address space exclusive of the first portion, each cluster having routing information associated with each of the local nodes for facilitating communication between the local nodes and the interconnection controller via specific ones of the local links identified in the associated routing information, wherein the interconnection controller in each cluster is operable to maintain at least one local routing table relating each of the local nodes to at least one of the local links, at least one global routing table relating each of the other clusters to at least one of the global links, and memory mapping information relating each of the other clusters to respective portions of the remainder portion of the global memory address space, and wherein the interconnection controller in each cluster is operable to map locally generated transmissions directed to the remainder portion of the global memory address space to the global links using the memory mapping information and the at least one global routing table, and remotely generated transmissions directed to the local nodes to the local links using the at least one local routing table.
-
10. In a computer system comprising a plurality of processor clusters interconnected by a plurality of global point-to-point links and having a global memory address space associated therewith, each cluster including a plurality of local nodes and an interconnection controller interconnected by a plurality of local point-to-point links, each cluster having a local memory address space associated therewith corresponding to a first portion of the global memory address space, wherein the interconnection controller in each cluster is mapped by the associated local nodes to a remainder portion of the global memory address space exclusive of the first portion, a method for routing locally and remotely generated transmissions, the method comprising:
-
providing local routing information in each cluster, the local routing information including at least one local routing table maintained by the interconnection controller and relating each of the local nodes to at least one of the local links, a portion of the local routing information being associated with each of the local nodes for facilitating communication between the local nodes and the interconnection controller via specific ones of the local links identified in the portions of routing information; providing global routing information in each cluster, the global routing information including at least one global routing table maintained by the interconnection controller and relating each of the other clusters to at least one of the global links; providing memory mapping information maintained by the interconnection controller and relating each of the other clusters to respective portions of the remainder portion of the global memory address space; mapping locally generated transmissions in each cluster directed to the remainder portion of the global memory address to the global links using the memory mapping information and the global routing information; and mapping remotely generated transmissions directed to the local nodes to the local links using the local routing information.
-
- 11. An interconnection controller for use in a computer system comprising a plurality of processor clusters interconnected by a plurality of global point-to-point links and having a global memory address space associated therewith, each cluster including a plurality of local nodes and an instance of the interconnection controller interconnected by a plurality of local point-to-point links, each cluster having a local memory address space associated therewith corresponding to a first portion of the global memory address space, wherein the interconnection controller in each cluster is mapped by the associated local nodes to a remainder portion of the global memory address space exclusive of the first portion, each cluster having routing information associated with each of the local nodes for facilitating communication between the local nodes and the interconnection controller via specific ones of the local links identified in the associated routing information, the interconnection controller comprising circuitry which is operable to maintain at least one local routing table relating each of the local nodes to at least one of the local links, maintain at least one global routing table relating each of the other clusters to at least one of the global links, maintain mapping information relating each of the other clusters to respective portions of the remainder portion of the global memory address space, map locally generated transmissions directed to the remainder portion of the global memory address space the global links using the mapping information and the at least one global routing table, and map remotely generated transmissions directed to the local nodes to the local links using the at least one local routing table.
Specification