ILP and heuristic techniques for system-level design on network processor architectures

Network processors incorporate several architectural features, including symmetric multiprocessing (SMP), block multithreading, and multiple memory elements, to support the high-performance requirements of current day applications. This article presents automated system-level design techniques for application development on such architectures. We propose integer linear programming formulations and heuristic techniques for process allocation and data mapping on SMP and block-multithreading-based network processors. The techniques incorporate process transformations and multithreading-aware data mapping to maximize the throughput of the application. The article presents experimental results that evaluate the techniques by implementing network processing applications on the Intel IXP 2400 architecture.

[1]  Michael K. Chen,et al.  Shangri-La: achieving high performance from compiled network applications while enabling ease of programming , 2005, PLDI '05.

[2]  Giorgio Gambosi,et al.  Complexity and Approximation , 1999, Springer Berlin Heidelberg.

[3]  Armin Bender MILP based task mapping for heterogeneous multiprocessor systems , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[4]  Giorgio Gambosi,et al.  Complexity and approximation: combinatorial optimization problems and their approximability properties , 1999 .

[5]  Karam S. Chatha,et al.  System level methodology for programming CMP based multi-threaded network processor architectures , 2005, IEEE Computer Society Annual Symposium on VLSI: New Frontiers in VLSI Design (ISVLSI'05).

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

[7]  Erik J. Johnson,et al.  IXP2400/2800 Programming: The Complete Microengine Coding Guide , 2003 .

[8]  Kurt Keutzer,et al.  Automated Task Allocation on Single Chip, Hardware Multithreaded, Multiprocessor Systems , 2004 .

[9]  Lawrence G. Roberts,et al.  Beyond Moore's Law: Internet Growth Trends , 2000, Computer.

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

[11]  Tilman Wolf,et al.  PacketBench: a tool for workload characterization of network processing , 2003, 2003 IEEE International Conference on Communications (Cat. No.03CH37441).

[12]  Bo Li,et al.  Optimization and benchmark of cryptographic algorithms on network processors , 2004, IEEE Micro.

[13]  David L. Black,et al.  An Architecture for Differentiated Service , 1998 .

[14]  Rajeev Motwani,et al.  Approximation algorithms for scheduling problems , 1998 .

[15]  Yu-Chin Hsu,et al.  A formal approach to the scheduling problem in high level synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[16]  Lothar Thiele,et al.  Chapter 4 – Design Space Exploration of Network Processor Architectures , 2003 .

[17]  Eddie Kohler,et al.  The Click modular router , 1999, SOSP.

[18]  Hiroaki Ishii,et al.  Approximation algorithms for scheduling problems , 2000 .

[19]  Marcel Waldvogel,et al.  Creating advanced functions on network processors: experience and perspectives , 2003 .

[20]  Tilman Wolf,et al.  Profiling and mapping of parallel workloads on network processors , 2005, SAC '05.

[21]  Zheng Wang,et al.  An Architecture for Differentiated Services , 1998, RFC.

[22]  Karam S. Chatha,et al.  An ILP Formulation for System-Level Application Mapping on Network Processor Architectures , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[23]  H. S. Jamadagni,et al.  Analytical bounds on the threads in IXP1200 network processor , 2003, Euromicro Symposium on Digital System Design, 2003. Proceedings..

[24]  Tami Tamir,et al.  Polynominal time approximation schemes for class-constrained packing problem , 2000, APPROX.

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

[26]  Tilman Wolf,et al.  Application analysis and resource mapping for heterogeneous network processor architectures , 2005 .

[27]  Kurt Keutzer,et al.  Programming challenges in network processor deployment , 2003, CASES '03.

[28]  Kurt Keutzer,et al.  Network Processors: Origin of Species , 2002 .

[29]  Anand Srinivasan,et al.  Multiprocessor Scheduling in Processor-Based Router Platforms: Issues and Ideas , 2004 .

[30]  Michael E. Kounavis,et al.  NetBind: a binding tool for constructing data paths in network processor-based routers , 2002, 2002 IEEE Open Architectures and Network Programming Proceedings. OPENARCH 2002 (Cat. No.02EX571).

[31]  Gordon S. Blair,et al.  Towards a generic programming model for network processors , 2004, Proceedings. 2004 12th IEEE International Conference on Networks (ICON 2004) (IEEE Cat. No.04EX955).

[32]  Hadas Shachnai,et al.  Polynominal time approximation schemes for class-constrained packing problem , 2000, APPROX.