Technical Report Number
Chip Multi-Processors (CMPs) are now available in a variety of systems and provide the opportunity for achieving high computational performance by exploiting application-level parallelism. In the communications environment, network processors (NPs), designed around CMP architectures, are generally usable in a pipelined manner. This leads to the issue of scheduling tasks on processor pipelines. This paper considers problems associated with determining optimal schedules for such pipelines. A system and algorithm called Greedy Pipe is presented. The algorithm employs a greedy heuristic to schedule tasks derived from multiple application ﬂows on pipelines with an arbitrary number of stages. Tasks may be shared, and diﬀerent bandwidths may be associated with each of the application ﬂows. Experimental results indicate that, 95% of the time Greedy Pipe obtains schedules within 10% of optimal. Examples are given to show the use of Greedy Pipe for general pipeline/algorithm design, and for use in the NP environment with typical networking applications.
Franklin, Mark A. and Data, Seema, "Pipeline Task Scheduling on Network Processors" Report Number: WUCSE-2003-73 (2003). All Computer Science and Engineering Research.