SimNP: A Flexible Platform for the Simulation of Network Processing Systems
David Bermingham, Zhen Liu, Xiaojun Wang
DOI: 10.4236/cn.2010.24030   PDF    HTML     5,384 Downloads   10,415 Views   Citations


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.

Share and Cite:

D. Bermingham, Z. Liu and X. Wang, "SimNP: A Flexible Platform for the Simulation of Network Processing Systems," Communications and Network, Vol. 2 No. 4, 2010, pp. 207-215. doi: 10.4236/cn.2010.24030.

Conflicts of Interest

The authors declare no conflicts of interest.


[1] D. Comer and L. Peterson, “Network Systems Design Using Network Processors,” 1st Edition, Prentice-Hall, Inc., USA, 2003.
[2] Intel Inc., IXP2800 Hardware Reference Manual.
[3] M. R. Hussain, “Octeon Multi-Core Processor,” Keynote Speech of ANCS 2006, San Jose, California, USA, December 2006.
[4] M. Venkatachalam, P. Chandra and R. Yavatkar, “A Highly Flexible, Distributed Multiprocessor Architecture for Network Processing,” Computer Networks, Vol. 41, No. 5, 2003, pp. 563-586.
[5] W. Eatherton, “The Push of Network Processing to the Top of the Pyramid,” Keynote Address at the Symposium on Architectures for Networking and Communication Systems (ANCS2005), Princeton, New Jersey, USA, October 2005.
[6] J. Mudigonda, H. M. Vin and R. Yavatkar, “Managing Memory Access Latency in Packet Processing,” Proceedings of the International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS 2005), Banff, Alberta, Canada, June 2005, pp. 396-397
[7] M. Peyravian and J. Calvignac, “Fundamental Architecture Considerations for Network Processors,” Computer Networks, Vol. 41, No. 5, 2003, pp. 587-600.
[8] W. Bux, W. E. Denzel, T. Engbersen, A. Herkersdorf and R.P. Luijten, “Technologies and Building Blocks for Fast Packet Forwarding,” IEEE Communications Magazine, , Vol. 39, No. 1, 2001, pp. 70-77
[9] D. Burger and T. Austin, “The SimpleScalar tool set verstion 2.0,” Computer Architecture News, Vol. 25, No. 3, 1997, pp.13-25
[10] N. Shah, W. Plishker and K. Keutzer, “NP-click: A productive software development approach for network processors,” IEEE Micro, Vol. 24, No. 5, 2004, pp. 45-54.
[11] T. Wolf and M. Franklin, “Commbench: A Telecommunications Benchmark for Network Processors,” IEEE International Symposium on Performance Analysis of Systems and Software, Austin, USA, April 2000.
[12] G. Memik, W. H. Mangione-Smith and W. Hu, “NetBench: A Benchmarking Suite for Network Processors,” Proceedings of IEEE/ACM International Conference on Computer-Aided Design, Digest of Technical Papers, San Jose, USA, November 2001, pp. 39-42.
[13] J. L. Hennessy and D. A. Patterson, “Computer Architecture: A Quantitative Approach,” 4th Edition, Morgan Kaufmann, USA, 2006.
[14] Z. Liu, D. Bermingham and X. Wang, “Towards Fast and Flexible Simulation of Network Processors,” The IET 2008 China-Ireland International Conference on Information and Communications Technologies (CIICT2008), Beijing, China, September 2008, pp. 611-614.
[15] D. Bermingham, Z. Liu and X. Wang, “SimNP: A Flexible Platform for the Simulation of Network Processing System,” ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS2008), California, USA, November 2008, pp. 123-124.
[16] P. Willman, M. Broglioli and V. Pai, “Spinach: A Liberty-Based Simulator for Programmable Network Interface Architectures,” LCTES, 2004, pp. 20-29.
[17] R. Ramaswamy and T. Wolf, “PacketBench: A Tool for Workload Characterization of Network Processing,” Proceeding of IEEE 6th Annual Workshop on Workload Characterization (WWC-6), Austin, TX, 2003, pp. 42-50.
[18] Y. Luo, J. Yang, L. N. Bhuyan and L. Zhao, “NePSim: A Network Processor Simulator with a Power Evaluation Framework,” IEEE Micro, Vol. 24, No. 5, 2004, pp. 34- 44.
[19] D. Suryanarayanan, J. Marshall and G. T. Byrd, “A Methodology and Simulator for the Study of Network Processors,” In: P. Crowley, M. A. Franklin, H. Hadimioglu, and P. Z. Onufryk, Eds., Network Processor Design: Issues and Practices, Morgan Kaufmann Publishers, USA, 2003, pp. 27-54.
[20] “NLANR Passive Measurement Analysis,” 2007. http:// pma.
[21] “The GNU Compiler Collection,” 2009.
[22] B. Schneier, “Applied Cryptography,” 2nd Edition, John Wiley & Sons, New York, 1996.
[23] S. Kumar, J. Turner and J. Williams, “Advanced Algorithms for Fast and Scalable Deep Packet Inspection,” Proceedings of the ACM/IEEE symposium on Architecture for networking and communications systems, San Jose, USA, December 2006, pp. 81-92.
[24] P. Gupta and N. McKeown, “Packet Classification on Multiple Fields,” Proceedings of the 1999 Conference on Applications, Technologies, Architectures and Protocols for Computer Communications (ACM SIGCOMM’99), Massachusetts, US, September 1999, pp. 147-160.
[25] S. Nilsson and G. Karlsson, “IP-Address Lookup Using LC-Tries,” IEEE Journal on Selected Areas in Communications, Vol. 17, No. 6, June 1999, pp. 1083-1092.
[26] RFC-791, “Internet Protocol DARPA Internet Program Protocol Specification,” 1981.

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.