NetBind: a binding tool for constructing data paths in network processor-based routers

There is growing interest in network processor technologies capable of processing packets at line rates. In this paper, we present the design, implementation and evaluation of NetBind, a high performance, flexible and scalable binding tool for dynamically constructing data paths in network processor-based routers. The methodology that underpins NetBind balances the flexibility of network programmability against the need to process and forward packets at line speeds. Data paths constructed using NetBind seamlessly share the resources of the same network processor. We compare the performance of NetBind to the MicroACE system developed by Intel to support binding between software components running on Intel IXP1200 network processors. We evaluate these alternative approaches in terms of their binding overhead, and discuss how this can affect the forwarding performance of IPv4 data paths running on IXP1200 network processor-based routers. We show that NetBind provides better performance in comparison to MicroACE with smaller binding overhead. The NetBind source code described and evaluated in this paper is freely available on the Web (comet.columbia.edu/genesis/netbind) for experimentation.

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

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

[3]  Hui Zhang,et al.  Hierarchical packet fair queueing algorithms , 1997, TNET.

[4]  Srinivasan Keshav,et al.  An Engineering Approach to Computer Networking: ATM Networks , 1996 .

[5]  Hui Zhang,et al.  Hierarchical packet fair queueing algorithms , 1996, SIGCOMM '96.

[6]  Larry Peterson,et al.  Evaluating Network Processors in IP Forwarding , 2000 .

[7]  Chieh-Yih Wan,et al.  Design, implementation, and evaluation of cellular IP , 2000, IEEE Wirel. Commun..

[8]  Andrew T. Campbell,et al.  The Genesis Kernel: a programming system for spawning network architectures , 2001, IEEE J. Sel. Areas Commun..

[9]  V. Chrysostomou The Genesis project , 1997 .

[10]  Calton Pu,et al.  The Synthesis Kernel , 1988, Comput. Syst..

[11]  Larry L. Peterson,et al.  Scout: a communications-oriented operating system , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[12]  Hermann de Meer,et al.  A survey of programmable networks , 1999, CCRV.

[13]  Ion Stoica,et al.  A hierarchical fair service curve algorithm for link-sharing, real-time and priority services , 1997, SIGCOMM '97.

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

[15]  John H. Hartman,et al.  Scout: A Communications-Oriented Operating System (Abstract) , 1994, OSDI.