2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation (2001)
Lake Arrowhead, California
May 15, 2001 to May 18, 2001
King Tan , Dartmouth College
David M. Nicol , Dartmouth College
Jason Liu , Dartmouth College
Abstract With fixed lookahead information in a simulation model, the overhead of asynchronous conservative parallel simulation lies in the mechanism used for propagating time updates in order for logical processes to safely advance their local simulation clocks. Studies have shown that a good scheduling algorithm should preferentially schedule processes containing events on the critical path. This paper introduces a lock-free algorithm for scheduling logical processes in conservative parallel discrete-event simulation on shared-memory multiprocessor machines. The algorithm uses fetch&add operations that help avoid inefficiencies associated with using locks. The lock-free algorithm is robust. Experiments show that, compared with the scheduling algorithm using locks, the lock-free algorithm exhibits better performance when the number of logical processes assigned to each processor is small or when the workload becomes significant. In models with large number of logical processes, our algorithm shows only modest increase in execution time due to the overhead in the algorithm for extra bookkeeping.
King Tan, David M. Nicol, Jason Liu, "Lock-free Scheduling of Logical Processes in Parallel Simulation", 2012 ACM/IEEE/SCS 26th Workshop on Principles of Advanced and Distributed Simulation, vol. 00, no. , pp. 22, 2001, doi:10.1109/PADS.2001.924618