Locality-aware predictive scheduling of network processors

Demands for flexible processing have moved generalpurpose processing into the data path of networks. Processor schedulers have a great impact on the pegormance of these real-time systems. We present measurements that show that the workload of a network processor is highly regular and predictable. Processing time predictions, based on these measurements, can be used in scheduling together with information about locality in the instruction stream to signijicantly improve throughput performance. We propose two scheduling schemes, Locality-Aware and Locality-Aware Predictive, that try to avoid cold caches when scheduling packets for processors. Simulations of the schedulers using packet processing times obtained from an operational network processor show the tradeoffs between the algorithms and their pe@ormance improvements over First-Come-FirstServe scheduling.

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

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

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

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

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

[6]  G.J. Minden,et al.  A survey of active network research , 1997, IEEE Communications Magazine.

[7]  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).

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

[9]  Brian N. Bershad,et al.  Workloads for Programmable Network Interfaces , 2000 .

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

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

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

[13]  Tilman Wolf,et al.  Design issues for high-performance active routers , 2001, IEEE J. Sel. Areas Commun..

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

[15]  Tilman Wolf,et al.  Design issues for high performance active routers , 2000, 2000 International Zurich Seminar on Broadband Communications. Accessing, Transmission, Networking. Proceedings (Cat. No.00TH8475).

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