Packet queuing, scheduling and ordering
First Claim
1. A network services processor comprising:
- a plurality of independent processors, each processor operating in parallel to perform work; and
a work order module that dynamically schedules work to be performed in parallel by the processors based on a tag associated with the work such that execution of the work is ordered and synchronized.
8 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for ordering, synchronizing and scheduling work in a multi-core network services processor is provided. Each piece of work is identified by a tag that indicates how the work is to be synchronized and ordered. Throughput is increased by processing work having different tags in parallel on different processor cores. Packet processing can be broken up into different phases, each phase having a different tag dependent on ordering and synchronization constraints for the phase. A tag switch operation initiated by a core switches a tag dependent on the phase. A dedicated tag switch bus minimizes latency for the tag switch operation.
-
Citations
34 Claims
-
1. A network services processor comprising:
-
a plurality of independent processors, each processor operating in parallel to perform work; and
a work order module that dynamically schedules work to be performed in parallel by the processors based on a tag associated with the work such that execution of the work is ordered and synchronized. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for processing packets in a network services processor comprising:
-
processing work in parallel by a plurality of independent processors; and
dynamically scheduling work to be performed in parallel by the processors based on a tag associated with the work such that execution of the work is ordered and synchronized. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. An apparatus for processing packets in a network services processor comprising:
-
means for processing work in parallel; and
means for dynamically scheduling work to be performed in parallel based on a tag associated with the work such that execution of the work is ordered and synchronized.
-
Specification