Breakpoints and Time in Distributed Computations

This paper investigates how vector time can be used to set breakpoints in distributed computations for the purpose of analyzing and debugging distributed programs. A breakpoint is represented by a set of events in one or more processes. One interesting state in which a distributed computation can be halted is the earliest global state reflecting all events in a breakpoint. A simple expression in terms of vector time is derived to determine this state. Another state of interest is the global state reflecting only events preceding any of the breakpoint events, but reflecting none of the breakpoint events themselves. Two alternative expressions are presented for this state. The first one is in terms of vector time and a derived notion called reversed vector time. The second expression uses vector time and the convex closure of a set of events.

(postscript / pdf version of the complete paper)

Back to the list of publications.