SimCore: A Library for Rapid Development of Large Scale Parallel Simulations

Sunil Thulasidasan, Lukas Kroc, Stephan Eidenbenz

Abstract

We present the SimCore parallel simulation library, an object-oriented framework for developing parallel distributed discrete-event simulation applications, implemented in C++ with a Python front-end. SimCore is designed to scale to thousands of processors but is simple enough to use for application programmers, an outcome of its fast C++ core and message passing routines integrated with the full expressive power of Python. We discuss the design philosophy of SimCore including the software architecture and the C++/Python interface implementation that allows applications to be written in pure Python or a hybrid of Python and C++ or even pure C++. We also provide real world examples of the scalability and briefly describe a few diverse applications that have been deployed using SimCore.

References

  1. Abrahams, D. and Grosse-Kuntsleve, R. (2003). Building hybrid systems with boost.python. http://www.boostpro.com/writing/bpl.html.
  2. Boost (2012). Boost c++ libraries. http://www.boost.org.
  3. Fujimoto, R. M. (1990). Parallel discrete event simulation. Commun. ACM, 33(10):30-53.
  4. Galli, E., Eidenbenz, S., Mniszewski, S., Teuscher, C., and Cuellar, L. (2009). Activitysim: Large-scale agentbased activity generation for infrastructure simulation. In Proceedings of the 2009 Spring Simulation Conference.
  5. GCC-XML (2012). http://www.gccxml.org.
  6. NS-3 (2012). http://www.nsnam.org.
  7. OMNET++ (1996). http://www.omnetpp.org.
  8. Pecevski, D., Natschlager, T., and Schuch, K. (2009). Pcsim: a parallel simulation environment for neural circuits fully integrated with python. Frontiers in Neuroinformatics, 3(0).
  9. Perumalla, K. (2005). ┬Ásik - a micro-kernel for parallel/distributed simulation systems. In Workshop on Principles of Advanced and Distributed Simulation.
  10. PRIME (2012). Parallel Real-time Immersive network Modeling Environment. Available at http://prime.mines.edu/.
  11. Py++ (2012). Py++ automatic code generator. http://sourceforge.net/projects/pygccxml.
  12. Ramos and Martins (2004). Clustersim: a Java-based parallel discrete-event simulation tool for cluster computing. In Proceedings of IEEE International Conference on Cluster Computing.
  13. SimPy (2012). http://simpy.sourceforge.net.
  14. Thulasidasan, S. and Eidenbenz, S. (2009). Accelerating traffic microsimulations: A parallel discrete-event queue-based approach for speed and scale. In Proceedings of the Winter Simulation Conference.
  15. Thulasidasan, S., Kasiviswanathan, S., Eidenbenz, S., Galli, E., Mniszewski, S. M., and Romero, P. (2009). Designing systems for large-scale, discrete-event simulations: Experiences with the fasttrans parallel microsimulator. In HiPC'09, pages 428-437.
  16. Thulasidasan, S., Kasiviswanathan, S., Eidenbenz, S., and Romero, P. (2010). Explicit spatial scattering for load balancing in conservatively synchronized parallel discrete event simulations. In Proceedings of ACM/IEEE Workshop on Principles of Advanced and Distributed Simulation (PADS).
  17. Waupotitsch, R., Eidenbenz, S., Smith, J., and Kroc, L. (2006). Multi-scale integrated information and telecommunications system: First results from a largescale end-to-end network simulator. In Winter Simulation Conference, volume 0, pages 2132-2139. IEEE Computer Society.
Download


Paper Citation


in Harvard Style

Thulasidasan S., Kroc L. and Eidenbenz S. (2012). SimCore: A Library for Rapid Development of Large Scale Parallel Simulations . In Proceedings of the 2nd International Conference on Simulation and Modeling Methodologies, Technologies and Applications - Volume 1: SIMULTECH, ISBN 978-989-8565-20-4, pages 71-76. DOI: 10.5220/0004063700710076


in Bibtex Style

@conference{simultech12,
author={Sunil Thulasidasan and Lukas Kroc and Stephan Eidenbenz},
title={SimCore: A Library for Rapid Development of Large Scale Parallel Simulations},
booktitle={Proceedings of the 2nd International Conference on Simulation and Modeling Methodologies, Technologies and Applications - Volume 1: SIMULTECH,},
year={2012},
pages={71-76},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004063700710076},
isbn={978-989-8565-20-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 2nd International Conference on Simulation and Modeling Methodologies, Technologies and Applications - Volume 1: SIMULTECH,
TI - SimCore: A Library for Rapid Development of Large Scale Parallel Simulations
SN - 978-989-8565-20-4
AU - Thulasidasan S.
AU - Kroc L.
AU - Eidenbenz S.
PY - 2012
SP - 71
EP - 76
DO - 10.5220/0004063700710076