New trends in parallel and distributed simulation: From many-cores to Cloud Computing

Abstract Recent advances in computing architectures and networking are bringing parallel computing systems to the masses so increasing the number of potential users of these kinds of systems. In particular, two important technological evolutions are happening at the ends of the computing spectrum: at the “small” scale, processors now include an increasing number of independent execution units (cores), at the point that a mere CPU can be considered a parallel shared-memory computer; at the “large” scale, the Cloud Computing paradigm allows applications to scale by offering resources from a large pool on a pay-as-you-go model. Multi-core processors and Clouds both require applications to be suitably modified to take advantage of the features they provide. Despite laying at the extreme of the computing architecture spectrum – multi-core processors being at the small scale, and Clouds being at the large scale – they share an important common trait: both are specific forms of parallel/distributed architectures. As such, they present to the developers well known problems of synchronization, communication, workload distribution, and so on. Is parallel and distributed simulation ready for these challenges? In this paper, we analyze the state of the art of parallel and distributed simulation techniques, and assess their applicability to multi-core architectures or Clouds. It turns out that most of the current approaches exhibit limitations in terms of usability and adaptivity which may hinder their application to these new computing architectures. We propose an adaptive simulation mechanism, based on the multi-agent system paradigm, to partially address some of those limitations. While it is unlikely that a single approach will work well on both settings above, we argue that the proposed adaptive mechanism has useful features which make it attractive both in a multi-core processor and in a Cloud system. These features include the ability to reduce communication costs by migrating simulation components, and the support for adding (or removing) nodes to the execution architecture at runtime. We will also show that, with the help of an additional support layer, parallel and distributed simulations can be executed on top of unreliable resources.

[1]  Stephen John Turner,et al.  Federate migration in HLA-based simulation , 2005, Future Gener. Comput. Syst..

[2]  George Kesidis,et al.  A graph partitioning game for distributed simulation of networks , 2011 .

[3]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[4]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[5]  Gabriele D'Angelo,et al.  Parallel and distributed simulation from many cores to the public cloud , 2011, 2011 International Conference on High Performance Computing & Simulation.

[6]  Alexander Verbraeck,et al.  Distributed simulation in industry - a survey Part 3 - the HLA standard in industry , 2008, 2008 Winter Simulation Conference.

[7]  W.J. Davis,et al.  The high level architecture: Is there a better way? , 1999, WSC'99. 1999 Winter Simulation Conference Proceedings. 'Simulation - A Bridge to the Future' (Cat. No.99CH37038).

[8]  Gabriele D'Angelo,et al.  Distributed simulation of large-scale and detailed models , 2009, Int. J. Simul. Process. Model..

[9]  Gabriele D'Angelo,et al.  Parallel and Distributed Simulation from Many Cores to the Public Cloud (Extended Version) , 2011, ArXiv.

[10]  Kalyan S. Perumalla Scaling time warp-based discrete event execution to 104 processors on a Blue Gene supercomputer , 2007, CF '07.

[11]  Bin Chen,et al.  Cloud-based computer simulation: Towards planting existing simulation software into the cloud , 2012, Simul. Model. Pract. Theory.

[12]  Philip A. Wilsey,et al.  Distributed Simulation on a Many-Core Processor , 2011 .

[13]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[14]  Francesco Quaglia,et al.  Transparent State Management for Optimistic Synchronization in the High Level Architecture , 2006, Simul..

[15]  Kalyan S. Perumalla,et al.  Parallel and Distributed Simulation: Traditional Techniques and Recent Advances , 2006, Proceedings of the 2006 Winter Simulation Conference.

[16]  Jeffrey S. Steinman,et al.  Simulating Parallel Overlapping Universes in the Fifth Dimension with HyperWarpSpeed Implemented in the WarpIV Kernel , 2008 .

[17]  Ronald C. de Vries,et al.  Reducing Null Messages in Misra's Distributed Discrete Event Simulation Method , 1990, IEEE Trans. Software Eng..

[18]  Gabriele D'Angelo,et al.  Simulation of scale-free networks , 2009, SIMUTools 2009.

[19]  David Wentzlaff,et al.  Processor: A 64-Core SoC with Mesh Interconnect , 2010 .

[20]  Jae-Hyun Kim,et al.  Proposal of High Level Architecture Extension , 2004, AIS.

[21]  Jeffrey S. Steinman,et al.  The SPEEDES persistence framework and the standard simulation architecture , 2003, Seventeenth Workshop on Parallel and Distributed Simulation, 2003. (PADS 2003). Proceedings..

[22]  Srikanth B. Yoginath,et al.  Empirical evaluation of conservative and optimistic discrete event execution on cloud and VM platforms , 2013, SIGSIM PADS '13.

[23]  Emal Pasarly Time , 2011, Encyclopedia of Evolutionary Psychological Science.

[24]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[25]  Egils Ginters,et al.  Easy communication environment on the cloud as distributed simulation infrastructure , 2012 .

[26]  Richard M. Fujimoto,et al.  Parallel and Distribution Simulation Systems , 1999 .

[27]  Luciano Bononi,et al.  A New Adaptive Middleware for Parallel and Distributed Simulation of Dynamically Interacting Systems , 2004, Eighth IEEE International Symposium on Distributed Simulation and Real-Time Applications.

[28]  Jason Liu,et al.  PrimoGENI: Integrating Real-Time Network Simulation and Emulation in GENI , 2011, 2011 IEEE Workshop on Principles of Advanced and Distributed Simulation.

[29]  Luciano Bononi,et al.  HLA-based adaptive distributed simulation of wireless mobile systems , 2003, Seventeenth Workshop on Parallel and Distributed Simulation, 2003. (PADS 2003). Proceedings..

[30]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[31]  M. Gerla,et al.  GloMoSim: a library for parallel simulation of large-scale wireless networks , 1998, Proceedings. Twelfth Workshop on Parallel and Distributed Simulation PADS '98 (Cat. No.98TB100233).

[32]  David M. Nicol,et al.  Parallel simulation today , 1994, Ann. Oper. Res..

[33]  Sajal K. Das,et al.  Dynamic load balancing strategies for conservative parallel simulations , 1997, Proceedings 11th Workshop on Parallel and Distributed Simulation.

[34]  Yanqiang Di,et al.  Remodeling traditional RTI software to be with PaaS architecture , 2010, 2010 3rd International Conference on Computer Science and Information Technology.

[35]  Gabriel A. Wainer,et al.  Simulation in the Cloud Using Handheld Devices , 2012, 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012).

[36]  Gabriele D'Angelo,et al.  Multiplayer Online Games over scale-free networks: a viable solution? , 2010, SimuTools.

[37]  Nael B. Abu-Ghazaleh,et al.  Optimization of Parallel Discrete Event Simulator for Multi-core Systems , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[38]  Jayadev Misra,et al.  Distributed discrete-event simulation , 1986, CSUR.

[39]  D. Marr,et al.  Hyper-Threading Technology Architecture and MIcroarchitecture , 2002 .

[40]  Michael Gschwind Chip multiprocessing and the cell broadband engine , 2006, CF '06.

[41]  Gabriele D'Angelo,et al.  LUNES: Agent-based simulation of P2P systems , 2011, 2011 International Conference on High Performance Computing & Simulation.

[42]  Peter Martini,et al.  A Flexible Dynamic Partitioning Algorithm for Optimistic Distributed Simulation , 2007, 21st International Workshop on Principles of Advanced and Distributed Simulation (PADS'07).

[43]  Azzedine Boukerche,et al.  Dynamic partitioning of distributed virtual simulations for reducing communication load , 2009, 2009 IEEE International Workshop on Haptic Audio visual Environments and Games.

[44]  L. F. Wilson,et al.  Global virtual time and distributed synchronization , 1995, Proceedings 9th Workshop on Parallel and Distributed Simulation (ACM/IEEE).

[45]  Jan Broeckhove,et al.  Conservative distributed discrete-event simulation on the Amazon EC2 cloud: An evaluation of time synchronization protocol performance and cost efficiency , 2013, Simul. Model. Pract. Theory.

[46]  Khaled Elleithy,et al.  Minimizing the Null Message Exchange in Conservative Distributed Simulation , 2007 .

[47]  Yuan Cheng,et al.  P-GAS: Parallelizing a Cycle-Accurate Event-Driven Many-Core Processor Simulator Using Parallel Discrete Event Simulation , 2010, 2010 IEEE Workshop on Principles of Advanced and Distributed Simulation.

[48]  Asad Waqar Malik,et al.  Parallel and Distributed Simulation in the Cloud , 2010 .

[49]  Averill M. Law,et al.  Simulation Modeling and Analysis , 1982 .

[50]  H. Avril,et al.  The Dynamic Load Balancing of Clustered Time Warp for Logic Simulation , 1996, Proceedings of Symposium on Parallel and Distributed Tools.

[51]  S. C. Tay,et al.  Piggy-backed time-stepped simulation with 'super-stepping' , 2003, Proceedings of the 2003 Winter Simulation Conference, 2003..

[52]  Bin Chen,et al.  Cloud-Based Simulation: The State-of-the-Art Computer Simulation Paradigm , 2012, 2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation.

[53]  Charles L. Seitz,et al.  Variants of the Chandy-Misra-Bryant Distributed Discrete-Event Simulation Algorithm , 1988 .

[54]  Barbara Messing,et al.  An Introduction to MultiAgent Systems , 2002, Künstliche Intell..

[55]  Stephen John Turner,et al.  Accelerating optimistic HLA-based simulations in virtual execution environments , 2013, SIGSIM PADS '13.

[56]  Philip A. Wilsey,et al.  Dynamically Adjusting Core Frequencies to Accelerate Time Warp Simulations in Many-Core Processors , 2012, 2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation.

[57]  Luciano Bononi,et al.  Concurrent replication of parallel and distributed simulations , 2005, Workshop on Principles of Advanced and Distributed Simulation (PADS'05).

[58]  E. Deelman,et al.  Dynamic load balancing in parallel discrete event simulation for spatially explicit problems , 1998, Proceedings. Twelfth Workshop on Parallel and Distributed Simulation PADS '98 (Cat. No.98TB100233).

[59]  Thomas C. Schelling,et al.  Dynamic models of segregation , 1971 .

[60]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[61]  Kalyan S. Perumalla,et al.  /spl mu/sik - a micro-kernel for parallel/distributed simulation systems , 2005, Workshop on Principles of Advanced and Distributed Simulation (PADS'05).

[62]  Wayne J. Davis,et al.  The high level architecture: is there a better way? , 1999, WSC '99.

[63]  David M. Nicol,et al.  Automated load balancing in SPEEDES , 1995, WSC '95.

[64]  Moreno Marzolla,et al.  Adaptive event dissemination for peer-to-peer multiplayer online games , 2011, SimuTools.

[65]  Asad Waqar Malik,et al.  An Optimistic Parallel Simulation Protocol for Cloud Computing Environments , 2010 .

[66]  Wei Shen,et al.  Experiments in load migration and dynamic load balancing in SPEEDES , 1998, 1998 Winter Simulation Conference. Proceedings (Cat. No.98CH36274).

[67]  Pablo Pavón-Mariño,et al.  Simulation scalability issues in wireless sensor networks , 2006, IEEE Communications Magazine.

[68]  Jan Broeckhove,et al.  Revisiting conservative time synchronization protocols in parallel and distributed simulation , 2014, Concurr. Comput. Pract. Exp..

[69]  Jun Yu,et al.  Evaluation of a sort-based matching algorithm for DDM , 2002, Proceedings 16th Workshop on Parallel and Distributed Simulation.

[70]  Luciano Bononi,et al.  MoVES: A framework for parallel and distributed simulation of wireless vehicular ad hoc networks , 2008, Comput. Networks.

[71]  Francesco Quaglia,et al.  Nonblocking Checkpointing for Optimistic Parallel Simulation: Description and an Implementation , 2003, IEEE Trans. Parallel Distributed Syst..

[72]  Massimiliano Rak,et al.  mJADES: Concurrent Simulation in the Cloud , 2012, 2012 Sixth International Conference on Complex, Intelligent, and Software Intensive Systems.