CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE
Concurrency Computat.: Pract. Exper. 2009; 21:1483–1503
Published online 11 February 2009 inWiley InterScience (www.interscience.wiley.com). DOI: 10.1002/cpe.1399
Causality information and
proactive cancellation
mechanisms
Malolan Chetlur
1
and Philip A. Wilsey
2, ∗, †
1
IBM India Research Laboratory, Bangalore, India
2
Experimental Computing Laboratory, Department of ECE, University of
Cincinnati, P.O. Box 210030, Cincinnati, OH 45221-0030, U.S.A.
SUMMARY
Time Warp distributed simulations can enter a catastrophic state of cascading rollbacks where out of
order (premature) event executions propagate faster than the corrective measures (anti-messages) designed
to terminate them. In this paper, a distributed, proactive cancellation mechanism designed to avoid this
situation is presented. We also present a version of total clocks called Plausible Total Clocks (PTC). PTC
employs a compact time vector of event counter range to address the scalability issues typically suffered by
total clock solutions. That is, PTC consists of constant size vectors and are independent of the number of
simulation objects in the simulation. The events generated due to an out of order execution are proactively
cancelled by determining its causality relation with the already annihilated events. We present a proof
of correctness of the distributed cancellation mechanism using PTC and also show that the catastrophic
states are avoided with this proactive cancellation mechanism. This cancellation mechanism assumes first-
input–first-output communication layer, static inter-connection topology, and logical processes consisting
of multiple simulation objects. Copyright
©
2009 John Wiley & Sons, Ltd.
Received 10 May 2008; Revised 24 October 2008; Accepted 10 November 2008
KEY WORDS: logical time; time warp; cancellation; vector clocks; virtual time
1. INTRODUCTION
Rollback is an inherent part of the Time Warp synchronization mechanism for distributed simulation.
More precisely, rollback is used to recover from an out of order (or premature) event execution.
Conventionally, a rollback will send anti-messages to cancel the prematurely sent output event
messages. Rollbacks can occur frequently and propagate to other simulation objects to cancel out
any corresponding incorrect event computations caused by the original out of order processing.
∗
Correspondence to: Philip A. Wilsey, Experimental Computing Laboratory, Department of ECE, University of Cincinnati, P.O.
Box 210030, Cincinnati, OH 45221-0030, U.S.A.
†
E-mail: philip.wilsey@uc.edu
Copyright 2009 John Wiley & Sons, Ltd.