Time Warp parallel simulations need efficient schemes to cancel erroneous event messages in order to achieve acceptable performance levels. Lazy cancellation depends on delaying the cancellation of incorrect computations until rolled-back events are re-processed. An antimessage is then sent for cancellation only if an output message re-produced after rollback is found to be unequal to its counterpart produced before rollback. One drawback of this approach is that antimessages are sent too late to catch the wave of incorrect computations, which results in more rollbacks. In this paper, we suggest an enhanced lazy cancellation technique that aims to throttle incorrect computations. It asks logical processes (LPs) that have received any output messages, generated from the first execution of a rolled-back input event in some neighboring LP, to mark those messages as temporarily blocked. Those messages remain in a blocked state until it is later decided whether or not they must be cancelled. The receiving LP becomes blocked only after a blocked input message becomes the next message to process. After re-executing the rolled-back input event, the sending LP sends each of its receiving LPs either an `Unblock' message or an antimessage for each previously marked output message, depending on the result of the equality test of that output message's versions before and after rollback. Experimental results for a synthetic benchmark show that our technique can yield better performance than both lazy and aggressive cancellation.
['Hussam M. Soliman Ramadan']
Throttled Lazy Cancellation in Time Warp Parallel Simulation