Ordered Round-Robin: An Efficient Sequence Preserving Packet Scheduler

With the advent of powerful network processors (NPs) in the market, many computation-intensive tasks such as routing table look-up, classification, IPSec, and multimedia transcoding can now be accomplished more easily in a router. 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 an Ordered Round Robin (ORR) 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 Ordered Round Robin (P-ORR) 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 for parallel packet processing.

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

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

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

[4]  Nick McKeown,et al.  Analysis of a packet switch with memories running slower than the line-rate , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

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

[6]  Thomas G. Robertazzi,et al.  Ten Reasons to Use Divisible Load Theory , 2003, Computer.

[7]  J.P. Hespanha,et al.  A new TCP for persistent packet reordering , 2006, IEEE/ACM Transactions on Networking.

[8]  Jean-Yves Le Boudec,et al.  Adaptive Load Sharing for Network Processors , 2002, IEEE/ACM Transactions on Networking.

[9]  Tilman Wolf,et al.  Design Tradeoffs for Embedded Network Processors , 2002, ARCS.

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

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

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

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

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

[15]  Lukas Kencl,et al.  Sequence-preserving adaptive load balancers , 2006, 2006 Symposium on Architecture For Networking And Communications Systems.

[16]  G RobertazziThomas Ten Reasons to Use Divisible Load Theory , 2003 .

[17]  Laxmi N. Bhuyan,et al.  An efficient packet scheduling algorithm in network processors , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

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

[19]  Denis A. Khotimsky,et al.  Evaluation of open-loop sequence control schemes for multi-path switches , 2002, 2002 IEEE International Conference on Communications. Conference Proceedings. ICC 2002 (Cat. No.02CH37333).

[20]  Mark Allman,et al.  On making TCP more robust to packet reordering , 2002, CCRV.

[21]  Jorge Arturo Cobb,et al.  A theory of multi-channel schedulers for quality of service , 2002, J. High Speed Networks.

[22]  Yang Xu,et al.  An efficient scheduling mechanism with flow-based packet reordering in a high-speed network processor , 2005, HPSR. 2005 Workshop on High Performance Switching and Routing, 2005..