ABSTRACT
In the context of network simulation, directly executing the code for new protocols and applications can add a sense of realism to the simulation while saving time that would have been required for development and validation of sufficiently representative models. Direct Code Execution (DCE) in ns-3 provides this functionality for debugging and analyzing new network applications directly in simulation. However, DCE currently requires that these applications are executed as native code that has been compiled from source code written in C or C++. This work exploits the fact that languages such as Python and Java launch their applications through native code that ultimately translates their source code into instructions that the underlying system understands. The efforts of this study provide a framework for allowing applications written in Python or Java to be executed within the simulated environment similarly to how DCE currently allows applications written in C or C++ to be introduced into simulation. This framework is tested on multiple simulated topologies for a variety of applications, and its overhead is examined in the context of memory usage and wallclock execution time.
- M. Gupta, J. Sommers, and P. Barford. Fast, accurate simulation for SDN prototyping. In Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, HotSDN '13, pages 31--36, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- D. Camara, H. Tazaki, E. Mancini, T. Turletti, W. Dabbous, and M. Lacage. DCE: Test the real code of your protocols and applications over simulated networks. Communications Magazine, IEEE, 52(3):104--110, March 2014.Google ScholarCross Ref
- H. Tazaki, F. Urbani, E. Mancini, M. Lacage, D. Camara, T. Turletti, and W. Dabbous. Direct code execution: Revisiting library OS architecture for reproducible network experiments. In Proceedings of the Ninth ACM Conference on Emerging Networking Experiments and Technologies, CoNEXT '13, pages 217--228, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- Inria. Direct code execution (DCE) manual. Website, 2013. https://www.nsnam.org/docs/dce/release/1.5/manual/html/index.html.Google Scholar
- H. Tazaki. dce-pre.patch. Website, 2014. https://gist.github.com/thehajime/b2efe96e797cd131cac1.Google Scholar
- S. Rabinowitz and S. Wagon. A spigot algorithm for the digits of π. The American Mathematical Monthly, 102(3):195--203, 1995.Google ScholarCross Ref
- M. Muuss. The story of the ping program. Website, 1999. http://ftp.arl.army.mil/~mike/ping.html.Google Scholar
- J. Diemer. python-ping. Website, 2011. https://pypi.python.org/pypi/python-ping.Google Scholar
- P. Brady. ps_mem 3.6: Python package index. Website, 2015. https://pypi.python.org/pypi/ps_mem/3.6.Google Scholar
- E. Bikov and P. Boyko. Direct execution of OLSR MANET routing daemon in ns-3. In Proceedings of the 4th International ICST Conference on Simulation Tools and Techniques, SIMUTools '11, pages 454--461, ICST, Brussels, Belgium, Belgium, 2011. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering). Google ScholarDigital Library
- S. Kwon, K. Hasan, M. Lee, and S. Jeong. Comparative analysis of real-time video performance in the CCN-based LTE networks. In Information and Communication Technology Convergence (ICTC), 2015 International Conference on, pages 509--511, Oct 2015.Google ScholarCross Ref
- H. Tazaki, E. Mancini, D. Camara, T. Turletti, and W. Dabbous. MSWIM demo abstract: Direct code execution: Increase simulation realism using unmodified real implementations. In Proceedings of the 11th ACM International Symposium on Mobility Management and Wireless Access, MobiWac '13, pages 29--32, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- E. Mancini, H. Soni, T. Turletti, W. Dabbous, and H. Tazaki. Demo abstract: Realistic evaluation of kernel protocols and software defined wireless networks with DCE/ns-3. In Proceedings of the 17th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems, MSWiM '14, pages 335--337, New York, NY, USA, 2014. ACM. Google ScholarDigital Library
- V. Duggirala and S. Varadarajan. Open network emulator: A parallel direct code execution network simulator. In Proceedings of the 2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation, PADS '12, pages 101--110, Washington, DC, USA, 2012. IEEE Computer Society. Google ScholarDigital Library
- C. Lattner and V. Adve. LLVM: a compilation framework for lifelong program analysis transformation. In Code Generation and Optimization, 2004. CGO 2004. International Symposium on, pages 75--86, March 2004. Google ScholarDigital Library
- V. Duggirala, C. Ribbens, and S. Varadarajan. Distributed ONE: Scalable parallel network simulation. In Proceedings of the 6th International ICST Conference on Simulation Tools and Techniques, SimuTools '13, pages 10--16, ICST, Brussels, Belgium, Belgium, 2013. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering). Google ScholarDigital Library
- C. Lattner. The LLVM compiler infrastructure project. Website, 2016. http://llvm.org.Google Scholar
- GCC Team. GCJ: The GNU compiler for Java. Website, 2016. https://gcc.gnu.org/java.Google Scholar
- Analysis of Programming Language Overhead in DCE
Recommendations
Automatic State Saving and Rollback in ns-3
SIGSIM-PADS '17: Proceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete SimulationWhen designing, implementing and executing large-scale distributed simulation codes it is well-known the so-called optimistic time synchronization methods often lead to better overall performance as compared to the so-called conservative methods. ...
DCE cradle: simulate network protocols with real stacks for better realism
SimuTools '13: Proceedings of the 6th International ICST Conference on Simulation Tools and TechniquesReusing real protocol implementations of the kernel network stack in network simulators can increase the realism of network experimentations as well as decrease the cost of protocol development. In this paper, we introduce DCE Cradle, a novel framework ...
Comparing a Scalable SDN Simulation Framework Built on ns-3 and DCE with Existing SDN Simulators and Emulators
SIGSIM-PADS '16: Proceedings of the 2016 ACM SIGSIM Conference on Principles of Advanced Discrete SimulationAs software-defined networking (SDN) grows beyond its original aim to simply separate the control and data network planes, it becomes useful both financially and analytically to provide adequate mechanisms for simulating this new paradigm. A number of ...
Comments