NP-Click: A Programming Model for the Intel IXP1200

Publisher Summary A programming model inevitably balances a programmer's two competing needs: desire for ease of programming and the requirement for efficient implementation. This chapter describes NP-Click, a programming model for a common network processor, the Intel IXP 1200. The approach is illustrated by using NP-Click to implement an IPv4 packet forwarder. The IXP 1200 family is one of Intel's recent network processor product lines based on their Internet Exchange Architecture. Click is a domain-specific language designed for describing networking applications. It is based on a set of simple principles tailored for the networking community. NP-Click combines an efficient abstraction of the target architecture with features of a domain-specific language for networking. The model is designed to ease three major difficulties of programming network processors: taking advantage of hardware parallelism, arbitration of shared resources, and efficient data layout. The result is a natural abstraction that enables programmers to quickly write efficient code.

[1]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[2]  S. Edwards Compiling Esterel into sequential code , 2000, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[3]  Edward A. Lee,et al.  Software synthesis for DSP using ptolemy , 1995, J. VLSI Signal Process..

[4]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

[5]  Eddie Kohler,et al.  Programming language optimizations for modular router configurations , 2002, ASPLOS X.

[6]  Scott O. Bradner,et al.  Benchmarking Methodology for Network Interconnect Devices , 1996, RFC.

[7]  Kurt Keutzer,et al.  A Benchmarking Methodology for Network Processors , 2003 .

[8]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[9]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[10]  Fred Baker,et al.  Requirements for IP Version 4 Routers , 1995, RFC.

[11]  Robert Tappan Morris,et al.  Flexible Control of Parallelism in a Multiprocessor PC Router , 2001, USENIX Annual Technical Conference, General Track.

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

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

[14]  K. W. Leary,et al.  DSP/C: a standard high level language for DSP and numeric processing , 1990, International Conference on Acoustics, Speech, and Signal Processing.