System and Method for Dynamically Supporting Indirect Routing Within a Multi-Tiered Full-Graph Interconnect Architecture
First Claim
1. A method, in a data processing system, of dynamically routing data through the data processing system, the method comprising:
- receiving data at a first processor within a set of processors that is to be transmitted to a destination processor, wherein the data includes address information;
performing a lookup operation in one or more routing table data structures based on the address information to identify one or more candidate paths through which the data is routed to the destination processor;
determining if any of the one or more candidate paths are not able to be used to route the data to the destination processor based on a setting of at least one identifier in at least one field of one or more entries of the one or more routing table data structures corresponding to the identified one or more candidate paths, wherein the at least one identifier is at least one of a no-direct identifier or a no-indirect identifier;
selecting a path from the identified one or more candidate paths for routing of the data to the destination processor based on a setting of the at least one identifier in the one or more entries corresponding to the one or more candidate paths and whether a candidate path corresponding to an entry is to be used for direct or indirect routing of the data to the destination processor; and
transmitting the data from the first processor along the selected path toward the destination processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, computer program product, and system are provided for dynamically routing data through the data processing system. Data is received at a first processor that is to be transmitted to a destination processor. The data that is received includes address information. A lookup is performed in routing table data structures based on the address information to identify candidate paths through which the data is routed to the destination processor. A determination is made as to whether any of the candidate paths are not able to be used to route the data to the destination processor based on a setting of at least one identifier. A path is selected from the identified candidate paths for routing of the data based on a setting of the at least one identifier. Then, the data is transmitted from the first processor along the selected path toward the destination processor.
174 Citations
20 Claims
-
1. A method, in a data processing system, of dynamically routing data through the data processing system, the method comprising:
-
receiving data at a first processor within a set of processors that is to be transmitted to a destination processor, wherein the data includes address information; performing a lookup operation in one or more routing table data structures based on the address information to identify one or more candidate paths through which the data is routed to the destination processor; determining if any of the one or more candidate paths are not able to be used to route the data to the destination processor based on a setting of at least one identifier in at least one field of one or more entries of the one or more routing table data structures corresponding to the identified one or more candidate paths, wherein the at least one identifier is at least one of a no-direct identifier or a no-indirect identifier; selecting a path from the identified one or more candidate paths for routing of the data to the destination processor based on a setting of the at least one identifier in the one or more entries corresponding to the one or more candidate paths and whether a candidate path corresponding to an entry is to be used for direct or indirect routing of the data to the destination processor; and transmitting the data from the first processor along the selected path toward the destination processor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product, for dynamically routing data through the data processing system, comprising a computer useable medium having a computer readable program, wherein the computer readable program, when executed in a first processor in a set of processors of a data processing system, causes the first processor to:
-
receive data that is to be transmitted to a destination processor, wherein the data includes address information; perform a lookup operation in one or more routing table data structures based on the address information to identify one or more candidate paths through which the data is routed to the destination processor; determine if any of the one or more candidate paths are not able to be used to route the data to the destination processor based on a setting of at least one identifier in at least one field of one or more entries of the one or more routing table data structures corresponding to the identified one or more candidate paths, wherein the at least one identifier is at least one of a no-direct identifier or a no-indirect identifier; select a path from the identified one or more candidate paths for routing of the data to the destination processor based on a setting of the at least one identifier in the one or more entries corresponding to the one or more candidate paths and whether a candidate path corresponding to an entry is to be used for direct or indirect routing of the data to the destination processor; and transmit the data from the first processor along the selected path toward the destination processor. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for dynamically routing data through the data processing system, comprising:
-
a set of processors; and a memory coupled to the set of processors, wherein the memory comprises instructions which, when executed by a first processor in the set of processors, cause the first processor to; receive data that is to be transmitted to a destination processor, wherein the data includes address information; perform a lookup operation in one or more routing table data structures based on the address information to identify one or more candidate paths through which the data is routed to the destination processor; determine if any of the one or more candidate paths are not able to be used to route the data to the destination processor based on a setting of at least one identifier in at least one field of one or more entries of the one or more routing table data structures corresponding to the identified one or more candidate paths, wherein the at least one identifier is at least one of a no-direct identifier or a no-indirect identifier; select a path from the identified one or more candidate paths for routing of the data to the destination processor based on a setting of the at least one identifier in the one or more entries corresponding to the one or more candidate paths and whether a candidate path corresponding to an entry is to be used for direct or indirect routing of the data to the destination processor; and transmit the data from the first processor along the selected path toward the destination processor. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification