Abstract :
The author surveys algorithms that focus on special classes of predicates to observe global properties in distributed systems. This abstraction is key to efficient debugging and fault tolerance. The algorithms are also flexible, allowing for optimizations to fit application needs. For example, algorithms to detect general predicates can be optimized by exploiting specific properties of the channel predicate. In checking if a channel is empty, it may be sufficient to deal with the number of messages only, rather than the message themselves
Keywords :
distributed algorithms; message passing; program debugging; software fault tolerance; algorithms; channel emptiness checking; channel predicate; debugging; distributed systems; fault tolerance; general predicate detection; global properties; messages; optimization; predicates; Clocks; Distributed computing; Fault tolerance; Functional programming; Lattices; Monitoring; Registers; Software debugging; Software testing; System recovery;