An efficient packet scheduling algorithm in network processors

Several companies have introduced powerful network processors (NPs) that can be placed in routers to execute various tasks in the network. These tasks can range from IP level table lookup algorithm to application level multimedia transcoding applications. An NP consists of a number of on-chip processors to carry out packet level parallel processing operations. Ensuring good load balancing among the processors increases throughput. However, such multiprocessing also gives rise to increased out-of-order departure of processed packets. In this paper, we first propose a dynamic batch co-scheduling (DBCS) scheme to schedule packets in a heterogeneous network processor assuming that the workload is perfectly divisible. The processed loads from the processors are ordered perfectly. We analyze the throughput and derive expressions for the batch size, scheduling time and maximum number of schedulable processors. To effectively schedule variable length packets in an NP, we propose a packetized dynamic batch-coscheduling (P-DBCS) scheme by applying a combination of deficit round robin (DRR) and surplus round robin (SRR) schemes. We extend the algorithm to handle multiple flows based on a fair scheduling of flows depending on their reservations. Extensive sensitivity results are provided through analysis and simulation to show that the proposed algorithms satisfy both the load balancing and in-order requirements in packet processing.

[1]  Ali R. Hurson,et al.  Scheduling and Load Balancing in Parallel and Distributed Systems , 1995 .

[2]  George Varghese,et al.  Efficient fair queueing using deficit round robin , 1995, SIGCOMM '95.

[3]  Maximilian Ott,et al.  A Cluster-Based Active Router Architecture , 2001, IEEE Micro.

[4]  George Varghese,et al.  A reliable and scalable striping protocol , 1996, SIGCOMM 1996.

[5]  Thomas G. Robertazzi,et al.  Distributed computation with communication delay (distributed intelligent sensor networks) , 1988 .

[6]  Fang Chen,et al.  A cluster-based active router architecture supporting video/audio stream transcoding service , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[7]  Debasish Ghose,et al.  Distributed Computation with Communication Delays: Asymptotic Performance Analysis , 1994, J. Parallel Distributed Comput..

[8]  Maximilian Ott,et al.  The JOURNEY active network model , 2001, IEEE J. Sel. Areas Commun..

[9]  George Varghese,et al.  A Reliable and Scalable Striping Protocol , 1996, SIGCOMM.

[10]  Yitzchak M. Gottlieb,et al.  Building a robust software-based router using network processors , 2001, SOSP.

[11]  Mahadev Satyanarayanan,et al.  Scalable, secure, and highly available distributed file access , 1990, Computer.

[12]  Debasish Ghose,et al.  Scheduling Divisible Loads in Parallel and Distributed Systems , 1996 .

[13]  Steven McCanne,et al.  An active service framework and its application to real-time multimedia transcoding , 1998, SIGCOMM '98.

[14]  Zhiyong Xu,et al.  Scheduling real-time multimedia tasks in network processors , 2004, IEEE Global Telecommunications Conference, 2004. GLOBECOM '04..

[15]  SatyanarayananMahadev Scalable, Secure, and Highly Available Distributed File Access , 1990 .