System for combining a plurality of requests referencing a common target address into a single combined request having a single reference to the target address
First Claim
1. In a parallel processing computer system having a plurality of components interconnected by a distribution system, each component having an identifier on the distribution system, a universal multiple-phase method of routing a plurality of requests, the requests originating from at least one source component having a source identifier and each request referencing a target address accessible by a target destination component having a target identifier, comprising the steps of:
- originating a first request from a first source component;
redirecting, through a non-sorting function, the first request across the distribution system away from the target destination component and toward an intermediate destination component having an intermediate identifier not equal to the target identifier;
combining a plurality of requests including the first request at the intermediate destination component into a single destination request formed for the target address, the single destination request having a single reference to the target address computed by operating on the references to the target address in the plurality of requests; and
directing the destination request across the distribution system toward the target destination component having access to the target address.
0 Assignments
0 Petitions
Accused Products
Abstract
Requests are routed between components in a parallel computing system using multiple-phase combining. In the first phase, the original requests are decomposed into groups of requests that share the same destination address. The requests in each group are combined at an intermediate component into a single request per group. In subsequent phases, the combined requests are themselves grouped and combined in intermediate components. In the final phase, the combined requests are processed by the component containing the destination address. The addresses of the intermediate components are determined in part by hashing on the destination address and in part by a distributing function. The hashed portion of the intermediate component address tends to converge the combined requests toward the destination component during each phase. The distributing portion of the intermediate component address tends to distribute the workload evenly among the components.
84 Citations
47 Claims
-
1. In a parallel processing computer system having a plurality of components interconnected by a distribution system, each component having an identifier on the distribution system, a universal multiple-phase method of routing a plurality of requests, the requests originating from at least one source component having a source identifier and each request referencing a target address accessible by a target destination component having a target identifier, comprising the steps of:
-
originating a first request from a first source component; redirecting, through a non-sorting function, the first request across the distribution system away from the target destination component and toward an intermediate destination component having an intermediate identifier not equal to the target identifier; combining a plurality of requests including the first request at the intermediate destination component into a single destination request formed for the target address, the single destination request having a single reference to the target address computed by operating on the references to the target address in the plurality of requests; and directing the destination request across the distribution system toward the target destination component having access to the target address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 39, 42)
-
-
9. In a parallel processing computer system having a plurality of components interconnected by a distribution system, each component having an identifier on the distribution system, a universal multiple-phase method of routing a plurality of requests, the requests originating from at least one source component having a source identifier and each request referencing a target address accessible by a target destination component having a target identifier, comprising the steps of:
-
forming a destination request for a target address from at least one combined request, comprising at least one phase of the forming steps; redirecting, through a non-sorting function, a request across the distribution system away from the target destination component and toward an intermediate destination component having an intermediate identifier dependent on the target address of the request, the intermediate identifier not equal to the target identifier; and at the intermediate component, combining a plurality of received requests having a shared target address to form a single combined request, the single combined request having a single references to the target address computed by operating on the references to the target address in the plurality of received requests; and in a last phase, directing the destination request across the distribution system toward the target destination component having access to the target address. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 40, 43)
-
-
18. In a parallel processing computer system having a plurality of components interconnected by a distribution system, each component having an identifier on the distribution system, a universal multiple-phase method of routing a plurality of requests, the requests originating from at least one source component having a source identifier and each request referencing a target address accessible by a target destination component having a target identifier, comprising the steps of:
-
providing a basis sequence of m integers, there being one integer for a respective phase with a first integer corresponding to a first phase and a last integer corresponding to a last phase, each integer indicating the number of requests that can be combined for each respective phase; forming a destination request from at least one combined request, comprising m-1 phases of the forming steps; redirecting, through a non-sorting function, a request across the distribution system away from the target destination component and toward an intermediate component having an intermediate identifier dependent on the target address of the request, the intermediate identifier not equal to the destination identifier; at the intermediate component, receiving a plurality of requests which have traversed the distribution system; and at the intermediate component, combining a plurality of received requests having a shared target address using commutative and associative operations on the references to the target address in the plurality of requests to form a single combined request having a single reference to the target address; and in the mth phase, directing the destination request across the distribution system toward the target destination component having access to the target address. - View Dependent Claims (19, 20, 21, 22, 23, 24, 41, 44)
-
-
25. A universal multiple-phase system for routing requests on a parallel processing computer, comprising:
-
a plurality of components on the system, each component having an identifier on the system; a plurality of source requests, each source request originating from a source component and referencing a target address, the source requests being addressed by a plurality of source components to at least one selected component such that the selected components combine the source requests into at least one single combined request having a single reference to the target address by operating on the references to the target address in the plurality of source requests; and a distribution system interconnecting the components for directing the requests between components, each source request being redirected, through a non-sorting function, from the originating source component across the distribution system away from the target destination component having access to the target address and toward the associated selected component. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
45. A universal multiple-phase system for routing requests on a parallel processing computer, comprising:
-
a plurality of components for generating and processing requests, each component having a unique identifier on the system; a plurality of source requests, each source request originating from a source component from the plurality of components and referencing a target address, each source request being redirected by the respective source component toward at least one selected intermediate destination component from the plurality of components, each intermediate destination component selected for receiving a source request by a non-sorting hashing function based at least partially on the target address of the source request and not dependent on all requests currently in the computer, each intermediate destination component combining a plurality of received requests referencing a common target address into a single combined request referencing the common target address, the single combined request having a single reference to the common target address, the single combined request being computed by operating on the references to the target address in the plurality of received requests; and a distribution system interconnecting the components and optimized for routing the requests between components, each source request being redirected from the originating source component across the distribution system away from the target destination component and toward the addressed intermediate destination component, at least one source request arriving unaltered at the addressed intermediate destination component after traversing the distribution system. - View Dependent Claims (46, 47)
-
Specification