A Fine-grained Parallel Approach for one Logical Process on Multi-core Machines

Currently, the time management algorithms applied in various parallel discrete event simulation (PDES) engines take the logical process as the smallest parallel unit which corresponds to a physical process and represents a sequential simulation. Before the simulation system is running, all the entities are distributed to each logical process. The parallelism of the simulation system depends on the parallelism between logical processes. The performance of this parallel approach is greatly affected by the entity distribution scheme. For example, when the computing hotspots are assigned to one LP, the performance of the parallel simulation is almost the same as that of the serial simulation. And it is difficult to find a suitable entity distribution scheme when it comes to simulation with hotspots which migrate between LPs dynamically. Besides, we always use as many LPs as possible to improve parallelism, but this also brings greater communication and synchronization overhead. Focusing on these drawbacks of current simulation engines, we propose an approach which supports fine grain parallelism in one LP. Based on the traditional time management algorithms, our approach can process events of different entities in one LP in parallel with multi threads.

[1]  Clifford A. Shaffer,et al.  A Framework to Analyze the Performance of Load Balancing Schemes for Ensembles of Stochastic Simulations , 2014, International Journal of Parallel Programming.

[2]  Nael B. Abu-Ghazaleh,et al.  Parallel Discrete Event Simulation for Multi-Core Systems: Analysis and Optimization , 2014, IEEE Transactions on Parallel and Distributed Systems.

[3]  Chen Yang,et al.  An efficient approach to collaborative simulation of variable structure systems on multi-core machines , 2016, Cluster Computing.

[4]  Michael Allen,et al.  Parallel programming: techniques and applications using networked workstations and parallel computers , 1998 .

[5]  Ryan J. Miller,et al.  Optimistic Parallel Discrete Event Simulation on a Beowulf Cluster of Multi-core Machines , 2010 .

[6]  Chen Yang,et al.  Ivy: a parallel simulator for variable structure systems under multi-core environments , 2013 .

[7]  Richard E. Korf,et al.  Depth-First Heuristic Search on a SIMD Machine , 1993, Artif. Intell..

[8]  Carl Tropper,et al.  On Process Migration and Load Balancing in Time Warp , 1993, IEEE Trans. Parallel Distributed Syst..

[9]  Michael L. Hines,et al.  NTW-MT: a Multi-threaded Simulator for Reaction Diffusion Simulations in NEURON , 2015, SIGSIM-PADS.

[10]  Zhang Ying-xing Solution for Analytic Simulation Based on Parallel Processing , 2008 .

[11]  Richard M. Fujimoto,et al.  GTW: a time warp system for shared memory multiprocessors , 1994, Proceedings of Winter Simulation Conference.

[12]  W. Daniel Hillis,et al.  The connection machine , 1985 .

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