Defeasible time-stepping
Some physical systems need to be modeled for simulation so that they evolve in time in both a time-driven (time-stepped) and an event-driven manner. An example is a system of colliding particles that move in a dynamically changing potential field. Such behavior can be observed in the modeling of real physical systems such as nuclear collisions and the transport of neutrinos in a supernova explosion. We have developed a distributed algorithm for the optimistic simulation of systems that evolve according to time steps of known duration, but also require simulation time to evolve in an event-driven manner within each step, in order to reproduce the occurrence of discrete events. It is then a hybrid simulation algorithm, since it synchronizes the computation according to both the time- and event-driven aspects of the physical system model. One of the main characteristics of our algorithm, which we call defeasible time-stepping (DTS), is that its time-stepping portion is also subject to revision by rollback. This paper introduces DTS and its properties, and contains performance figures for an implementation of the algorithm when applied to the simulation of a nuclear physics problem on an Intel iPSC/860. We also show that DTS imposes an upper bound on the difference of clock values of the various logical processes that participate in the simulation. This upper bound grows linearly with the diameter of the directed graph underlying the physical system model, and can be calibrated by adjusting a proportionality constant. As a consequence, DTS can also be viewed as a mechanism for limiting optimism in strictly event-driven simulations.
distributed simulation hybrid time evolution optimism limitation