A discrete-event simulation (DES) involves the execution of a sequence of event handlers dynamically scheduled at runtime. As a consequence, a priori knowledge of the control flow of the overall simulation program is limited. In particular, powerful optimizations supported by modern compilers can only be applied on the scope of individual event handlers, which frequently involve only a few lines of code. We propose a method that extends the scope for compiler optimizations in discrete-event simulations by generating batches of multiple events that are subjected to compiler optimizations as contiguous procedures. A runtime mechanism executes suitable batches at negligible overhead. Our method does not require any compiler extensions and introduces only minor additional effort during model development. The feasibility and potential performance gains of the approach are illustrated on the example of an idealized proof-ofconcept model. We believe that the applicability of the approach extends to general event-driven programs.
In optimistically synchronized parallel and distributed simulation, a rollback mechanism is required to undo erroneous event executions. Several algorithms have been proposed to reduce the scale and overhead of rollbacks @cite_10 . proposed an approach to roll back batches of events at once. This is achieved by maintaining sufficient information at each processor so that during a rollback, a correct state can be achieved by rolling back a batch of events locally without inter-processor communication @cite_1 .
@cite_1 @cite_10
2100825452 2123483967
An efficient cancellation scheme is essential to the performance of time warp simulations. The pitfalls of rollback echoes, chasing hazards and cascading rollbacks can be identified as being attributable to the inefficiency of the conventional per-event based cancellation scheme. Instead of capturing the happen-before relation between events, which is used by the range based cancellation scheme, the batch based cancellation scheme proposed in this paper utilizes a modified paradigm of vector time, namely, state vector, to capture the dependence of events. We prove that with conformance to specific rules regulating the advancement of LPs (logical processes), the events to be cancelled by a straggler message can be determined using a range of the state vector. Thus, knowledge of the range enables any LP to recover from the receipt of a straggler message at the cost of at most one rollback (i.e., rollback optimal). The results of preliminary experiments conducted using a manufacturing model show that the proposed scheme is successful in reducing the number of antimessages and increasing the ratio of the number of committed events to the number of processed events. Originating from basic research conducted in the 1970's and 1980's, the parallel and distributed simulation field has matured over the last few decades. Today, operational systems have been fielded for applications such as military training, analysis of communication networks, and air traffic control systems, to mention a few. The article gives an overview of technologies to distribute the execution of simulation programs over multiple computer systems. Particular emphasis is placed on synchronization (also called time management) algorithms as well as data distribution techniques.