Faster Possibility Detection by Combining Two Approaches


A new algorithm is presented for detecting whether a particular computation of an asynchronous distributed system satisfies $\Poss\Phi$ (read ``possibly $\Phi$''), meaning the system could have passed through a global state satisfying $\Phi$. Like the algorithm of Cooper and Marzullo, $\Phi$ may be any global state predicate; and like the algorithm of Garg and Waldecker, $\Poss\Phi$ is detected quite efficiently if $\Phi$ has a certain structure. The new algorithm exploits the structure of some predicates $\Phi$ not handled by Garg and Waldecker's algorithm to detect $\Poss\Phi$ more efficiently than is possible with any algorithm that, like Cooper and Marzullo's, evaluates $\Phi$ on every global state through which the system could have passed. A second algorithm is also presented for off-line detection of $\Poss\Phi$. It uses Strassen's scheme for fast matrix multiplication. The intrinsic complexity of off-line and on-line detection of $\Poss\Phi$ is discussed.
Scott Stoller's Home Page