SimNP: A Flexible Platform for the Simulation of Network Processing Systems

Network processing plays an important role in the development of Internet as more and more complicated applications are deployed throughout the network. With the advent of new platforms such as network processors (NPs) that incorporate novel architectures to speedup packet processing, there is an increasing need for an efficient method to facilitate the study of their performance. In this paper, we present a tool called SimNP, which provides a flexible platform for the simulation of a network processing system in order to provide information for workload characterization, architecture development, and application implementation. The simulator models several architectural features that are commonly employed by NPs, including multiple processing engines (PEs), integrated network interface and memory controller, and hardware accelerators. ARM instruction set is emulated and a simple memory model is provided so that applications implemented in high level programming language such as C can be easily compiled into an executable binary using a common compiler like gcc. Moreover, new features or new modules can also be easily added into this simulator. Experiments have shown that our simulator provides abundant information for the study of network processing systems.

[1]  Jonathan S. Turner,et al.  Advanced algorithms for fast and scalable deep packet inspection , 2006, 2006 Symposium on Architecture For Networking And Communications Systems.

[2]  Andreas Herkersdorf,et al.  Technologies and building blocks for fast packet forwarding , 2001 .

[3]  Harrick M. Vin,et al.  Managing memory access latency in packet processing , 2005, SIGMETRICS '05.

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

[5]  Laxmi N. Bhuyan,et al.  NePSim: a network processor simulator with a power evaluation framework , 2004, IEEE Micro.

[6]  Liu Zhen,et al.  SimNP: a flexible platform for the simulation of a network processing system , 2008, ANCS '08.

[7]  Gunnar Karlsson,et al.  IP-address lookup using LC-tries , 1999, IEEE J. Sel. Areas Commun..

[8]  Nick McKeown,et al.  Packet classification on multiple fields , 1999, SIGCOMM '99.

[9]  Kurt Keutzer,et al.  NP-Click: a productive software development approach for network processors , 2004, IEEE Micro.

[10]  Gregory T. Byrd,et al.  A Methodology and Simulator for the Study of Network Processors , 2003 .

[11]  Wendong Hu,et al.  NetBench: a benchmarking suite for network processors , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[12]  Jean Calvignac,et al.  Fundamental architectural considerations for network processors , 2003, Comput. Networks.

[13]  Raj Yavatkar,et al.  A highly flexible, distributed multiprocessor architecture for network processing , 2003, Comput. Networks.

[14]  Fernando Gustavo Tinetti,et al.  Computer Architecture: A Quantitative Approach J. L. Hennessy, D. A. Patterson Morgan Kaufman, 4th Edition, 2007 , 2008 .

[15]  Vijay S. Pai,et al.  Spinach: a liberty-based simulator for programmable network interface architectures , 2004, LCTES '04.

[16]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.