Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing
First Claim
1. A context-selection mechanism for selecting a best context from a pool of contexts for processing a data packet comprising:
- an interface for communicating with a multi-streaming processor;
circuitry for computing input data into a result value according to logic rule and for selecting a context based on the computed value; and
a loading mechanism for preloading the packet information into the selected context for subsequent processing;
characterized in that the computation of the input data functions to enable identification and selection of a best context for processing a data packet according to the logic rule at the instant time such that a multitude of subsequent context selections over a period of time acts to balance load pressure on functional units housed within the multi-streaming processor and required for packet processing.
6 Assignments
0 Petitions
Accused Products
Abstract
A context-selection mechanism is provided for selecting a best context from a pool of contexts for processing a data packet. The context selection mechanism comprises, an interface for communicating with a multi-streaming processor; circuitry for computing input data into a result value according to logic rule and for selecting a context based on the computed value and a loading mechanism for preloading the packet information into the selected context for subsequent processing. The computation of the input data functions to enable identification and selection of a best context for processing a data packet according to the logic rule at the instant time such that a multitude of subsequent context selections over a period of time acts to balance load pressure on functional units housed within the multi-streaming processor and required for packet processing. In preferred aspects, programmable singular or multiple predictive rules of logic are utilized in the selection process.
-
Citations
39 Claims
-
1. A context-selection mechanism for selecting a best context from a pool of contexts for processing a data packet comprising:
-
an interface for communicating with a multi-streaming processor;
circuitry for computing input data into a result value according to logic rule and for selecting a context based on the computed value; and
a loading mechanism for preloading the packet information into the selected context for subsequent processing;
characterized in that the computation of the input data functions to enable identification and selection of a best context for processing a data packet according to the logic rule at the instant time such that a multitude of subsequent context selections over a period of time acts to balance load pressure on functional units housed within the multi-streaming processor and required for packet processing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
13. A system for load balancing pressure on functional units within a multi-streaming processor during the processing of multiple data packets comprising:
-
a context-selection mechanism having a communication interface, circuitry for computing input data according to a logic rule and a mechanism for preloading packet information into available ones of a pool of contexts;
a multi-streaming processor responsible for processing the data packets, the processor hosting the functional units and the context pool; and
a set of instructions comprising the logic rule governing context selection, wherein pressure upon the functional units within the processor core is balanced by selecting individual contexts according to the computed value following the set of instructions.
-
-
26. A method for load balancing pressure on functional units contained within a multi-streaming processor core during processing of multiple data packets comprising steps of:
-
(a) arranging the functional units into more than one separate cluster on the core of the processor, each cluster containing an equal number of contexts that may write to the functional units within the hosting cluster;
(b) receiving a data packet for processing;
(c) receiving as input for computation, data about the instant availability status of individual contexts within each cluster;
(d) receiving as input for computation, data about stream status of streams occupying any contexts within each cluster; and
(e) computing the data received as input to produce a value, the value identifying and initiating selection of a best context for processing the data packet and balancing the load of the functional units within each cluster; and
(f) repeating steps (b) through (e) for each of the multiple data packets for processing.
-
Specification