Scheduling critical channels in conservative parallel discrete event simulation

This paper introduces the Critical Channel Traversing (CCT) algorithm, a new scheduling algorithm for both sequential and parallel discrete event simulation. CCT is a general conservative algorithm that is aimed at the simulation of low-granularity network models on shared-memory multiprocessor computers. An implementation of the CCT algorithm within a kernel called TasKit has demonstrated excellent performance for large ATM network simulations when compared to previous sequential, optimistic and conservative kernels. TasKit has achieved two to three times speedup on a single processor with respect to a splay tree central-event-list based sequential kernel. On a 16 processor (R8000) Silicon Graphics PowerChallenge, TasKit has achieved an event-rate of 1.2 million events per second and a speedup of 26 relative to the sequential kernel for a large ATM network model. Performance is achieved through a multi-level scheduling scheme that supports the scheduling of large grains of computation even with low-granularity events. Performance is also enhanced by supporting good cache behavior and automatic load balancing. The paper describes the algorithm and its motivation, proves its correctness and briefly presents performance results for TasKit.

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

[2]  John G. Cleary,et al.  Conservative parallel simulation of ATM networks , 1996, Workshop on Parallel and Distributed Simulation.

[3]  Wayne M. Loucks,et al.  The role of knowledge in distributed simulation , 1990 .

[4]  R. M. Fujimoto,et al.  Parallel discrete event simulation , 1989, WSC '89.

[5]  D. Nicol Scalability, locality, partitioning and synchronization in PDES , 1998, Proceedings. Twelfth Workshop on Parallel and Distributed Simulation PADS '98 (Cat. No.98TB100233).

[6]  Pawel Gburzynski,et al.  A high fidelity ATM traffic and network simulator , 1995, WSC '95.

[7]  K. Mani Chandy,et al.  Distributed Simulation: A Case Study in Design and Verification of Distributed Programs , 1979, IEEE Transactions on Software Engineering.

[8]  Randal E. Bryant,et al.  SIMULATION OF PACKET COMMUNICATION ARCHITECTURE COMPUTER SYSTEMS , 1977 .

[9]  David M. Nicol Scalability, locality, partitioning and synchronization PDES , 1998, Workshop on Parallel and Distributed Simulation.

[10]  Brian W Unger,et al.  Report on WarpKit performance study and improvement , 1998 .

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

[12]  Fabian Gomes,et al.  SimKit: a high performance logical process simulation class library in C++ , 1995, WSC '95.

[13]  Richard M. Fujimoto,et al.  Buffer management in shared-memory Time Warp systems , 1995, PADS.

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