Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing
First Claim
1. A context-selection mechanism within a microprocessor for selecting a context from a pool of contexts for processing a data packet having a header, comprising:
- an interface for receiving the data packet and communicating with a multi-streaming processor, said multi-streaming processor comprising a core that includes the pool of contexts;
circuitry for computing input data into a value according to one or more logic rules and for selecting a context from the pool of contexts based at least in part on the value; and
a loading mechanism for preloading data corresponding to the received data packet into the selected context for subsequent processing, the preloaded data including information from the data packet header;
wherein computation of the input data functions to enable identification and selection of a context for packet processing according to the logic rule at the instant time such that a multitude of context selections made over a period of time facilitate balancing of load pressure on functional units housed within the multi-streaming processor core 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.
159 Citations
45 Claims
-
1. A context-selection mechanism within a microprocessor for selecting a context from a pool of contexts for processing a data packet having a header, comprising:
-
an interface for receiving the data packet and communicating with a multi-streaming processor, said multi-streaming processor comprising a core that includes the pool of contexts; circuitry for computing input data into a value according to one or more logic rules and for selecting a context from the pool of contexts based at least in part on the value; and a loading mechanism for preloading data corresponding to the received data packet into the selected context for subsequent processing, the preloaded data including information from the data packet header; wherein computation of the input data functions to enable identification and selection of a context for packet processing according to the logic rule at the instant time such that a multitude of context selections made over a period of time facilitate balancing of load pressure on functional units housed within the multi-streaming processor core and required for packet processing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 40, 41)
-
-
13. A system for load balancing pressure on functional units within a multi-streaming processor core during the processing of multiple data packets comprising:
-
a context-selection mechanism having a communication interface; circuitry for computing input data into a value according to one or more logic rules and a mechanism for preloading data corresponding to a data packet received from the communication interface into available ones of a pool of contexts within the core, the preloaded data including at least a portion of a data packet header of the data packet; a multi-streaming processor core responsible for processing the data packets, the processor core hosting the functional units and the context pool; and a set of instructions comprising the one or more logic rules governing context selection, wherein packet processing pressure upon the functional units within the processor core is balanced by selecting individual contexts for processing packet information based at least in part on the value. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 42, 43)
-
-
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 two or more separate clusters on the core of the processor, each of said clusters containing an equal number of contexts that may write to functional units which are hosted by a corresponding cluster, wherein said functional units and contexts are included in the processor core; (b) receiving a data packet for processing, the data packet having a header; (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 context for processing packet information and balancing packet processing load of the functional units within each cluster; (f) preloading data corresponding to the received data packet into the selected context for subsequent processing, the preloaded data including information from the data packet header; and (g) repeating steps (b) through (f) for each of the multiple data packets for processing. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 44, 45)
-
Specification