Supporting Run-time Adaptation in Packet Processing Syste ms

Implementors of packet-processing applications on multi-core processors must balance two requirements: (1) adapt processor allocations dynamically to reduce the overall resource provisioning requirement for the system, achieve robustness to traffic fluctuations, and reduce energ y consumption; and (2) utilize, for each application stage, r esources (e.g., memory levels, inter-processor communication mechanisms, etc.) closer or local to the processors on which the stages are mapped to achieve the highest possible throughput. In this paper, we describe the design and implementation of a run-time adaptation system that can meet these two requirements simultaneously. Our design allows each application stage to utilize local resources whenever possible in the steady state. Upon adapting the allocation of processors to stages, the run-time system (1) binds each resource usage within a stage to a new resource instance; and (2) checkpoints and migrates the state from the previous resource instance to the newly-bound resource instance . We describe the design and implementation of our adaptation system in the context of a packet processing system designed using the Intel R © IXP2400 network processor. We show that our design has little impact (14%) on the steadystate throughput of the system. We further show that our design is able to perform resource adaptation for a real application in less than 100ms, allowing processor allocatio ns to be adapted at a very fine time-scale.

[1]  Andrew T. Campbell,et al.  Programming the data path in network processor‐based routers , 2005, Softw. Pract. Exp..

[2]  Harrick M. Vin,et al.  A case for run-time adaptation in packet processing systems , 2004, Comput. Commun. Rev..

[3]  Robert Love Linux Kernel Development , 2003 .

[4]  Zhi-Li Zhang,et al.  Small-time scaling behaviors of Internet backbone traffic: an empirical study , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[5]  Matthias Blume,et al.  Taming the IXP network processor , 2003, PLDI.

[6]  L. Peterson,et al.  Network Systems Design Using Network Processors , 2003 .

[7]  Bernhard Plattner,et al.  PromethOS: A Dynamically Extensible Router Architecture Supporting Explicit Routing , 2002, IWAN.

[8]  James R. Larus,et al.  Using Cohort-Scheduling to Enhance Server Performance , 2002, USENIX Annual Technical Conference, General Track.

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

[10]  Mendel Rosenblum,et al.  Cellular disco: resource management using virtual clusters on shared-memory multiprocessors , 2000, TOCS.

[11]  EDDIE KOHLER,et al.  The click modular router , 2000, TOCS.

[12]  Bernhard Plattner,et al.  Router plugins: a software architecture for next-generation routers , 2000, TNET.

[13]  A.T. Campbell,et al.  The Genesis Kernel: a virtual network operating system for spawning network architectures , 1999, 1999 IEEE Second Conference on Open Architectures and Network Programming. Proceedings. OPENARCH '99 (Cat. No.99EX252).

[14]  Alan O. Freier,et al.  The SSL Protocol Version 3.0 , 1996 .

[15]  Brian N. Bershad,et al.  Dynamic binding for an extensible system , 1996, OSDI '96.

[16]  Calton Pu,et al.  Fast concurrent dynamic linking for an adaptive operating system , 1996, Proceedings of International Conference on Configurable Distributed Systems.

[17]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[18]  Jeffrey F. Naughton,et al.  Real-time, concurrent checkpoint for parallel programs , 1990, PPOPP '90.

[19]  Miron Livny,et al.  Condor-a hunter of idle workstations , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[20]  Ruiqi Lian,et al.  A Programming Environment for Packet-processing Systems : Design Considerations , 2004 .

[21]  Kurt Keutzer,et al.  NP-Click: A Programming Model for the Intel IXP1200 , 2004 .

[22]  Anastasia Ailamaki,et al.  A Case for Staged Database Systems , 2003, CIDR.

[23]  Donald Hooper,et al.  Packet over SONET : Achieving 10 Gigabit / sec Packet Processing with an IXP 2800 , 2002 .

[24]  Jason Nieh,et al.  The design and implementation of Zap: a system for migrating computing environments , 2002, OSDI '02.

[25]  David E. Culler,et al.  SEDA: An Architecture for Scalable, Well-Conditioned Internet Services , 2001 .

[26]  Alan O. Freier,et al.  SSL Protocol Version 3.0 Internet Draft , 1996 .

[27]  Larry L. Peterson,et al.  The x-Kernel: An Architecture for Implementing Network Protocols , 1991, IEEE Trans. Software Eng..