Predictive scheduling of network processors

To provide flexibility in deploying new protocols and services, general-purpose processing engines are being placed in the datapath of routers. Such network processors (NPs) are typically simple RISC multiprocessors that perform forwarding and custom application processing of packets. The inherent unpredictability of execution time of arbitrary instruction code poses a significant challenge in providing service guarantees for data flows that compete for such processing resources in the network. However, we show that network processing workloads are highly regular and predictable, which can be exploited for scheduling purposes. We present two such predictive processor scheduling algorithms that aim at providing service guarantees as well as improving the performance of the NP by increasing the instruction data locality. Simulation results show that these algorithms provide significantly better performance than processor scheduling algorithms that do not take packet processing times into consideration.

[1]  Abhay Parekh,et al.  A generalized processor sharing approach to flow control in integrated services networks-the multiple node case , 1993, IEEE INFOCOM '93 The Conference on Computer Communications, Proceedings.

[2]  Jonathan S. Turner,et al.  Design of a weighted fair queueing cell scheduler for ATM networks , 1998, IEEE GLOBECOM 1998 (Cat. NO. 98CH36250).

[3]  Raj Vaswani,et al.  The implications of cache affinity on processor scheduling for multiprogrammed, shared memory multiprocessors , 1991, SOSP '91.

[4]  Larry L. Peterson,et al.  Scheduling computations on a software-based router , 2001, SIGMETRICS '01.

[5]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1996, SIGCOMM 1996.

[6]  Donald F. Towsley,et al.  The effectiveness of affinity-based scheduling in multiprocessor networking , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[7]  Josep Torrellas,et al.  Evaluating the Performance of Cache-Affinity Scheduling in Shared-Memory Multiprocessors , 1995, J. Parallel Distributed Comput..

[8]  Bernhard Plattner,et al.  Router Plugins: A Modular and Extensible Software Framework for Modern High Performance Integrated Services Routers , 1998 .

[9]  Mark S. Squillante,et al.  Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling , 1993, IEEE Trans. Parallel Distributed Syst..

[10]  Tilman Wolf,et al.  CommBench-a telecommunications benchmark for network processors , 2000, 2000 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS (Cat. No.00EX422).

[11]  Scott Nettles,et al.  Practical programmable packets , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[12]  Kai Li,et al.  Thread scheduling for cache locality , 1996, ASPLOS VII.

[13]  Bernhard Plattner,et al.  A scalable high-performance active network node , 1999 .

[14]  Banu Özden,et al.  Fair queuing for aggregated multiple links , 2001, SIGCOMM.

[15]  Tilman Wolf,et al.  Configuring sessions in programmable networks , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[16]  Hui Zhang,et al.  WF/sup 2/Q: worst-case fair weighted fair queueing , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[17]  D. Stiliadis,et al.  Rate-proportional servers: a design methodology for fair queueing algorithms , 1998, TNET.

[18]  Kevin Mills,et al.  Expressing meaningful processing requirements among heterogeneous nodes in an active network , 2000, WOSP '00.

[19]  Jonathan S. Turner,et al.  Design of a gigabit ATM switch , 1997, Proceedings of INFOCOM '97.

[20]  Hui Zhang,et al.  Service disciplines for guaranteed performance service in packet-switching networks , 1995, Proc. IEEE.

[21]  NodeOS Interface Specification , 2001 .

[22]  Harrick M. Vin,et al.  A hierarchial CPU scheduler for multimedia operating systems , 1996, OSDI '96.

[23]  Murthy V. Devarakonda,et al.  Issues in implementation of cache-affinity scheduling , 1992 .

[24]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1996, SIGCOMM '96.

[25]  S. Jamaloddin Golestani,et al.  A self-clocked fair queueing scheme for broadband applications , 1994, Proceedings of INFOCOM '94 Conference on Computer Communications.

[26]  William D. Richard,et al.  The Smart Port Card: An Embedded Unix Processor Architecture for Network Management and Active Networking , 2001 .