Practical systems-building with atomic actions

Jon Howell, Microsoft Research

Abstract:

The atomic action model and formal specification together confront concurrency and nondeterminism inherent in the design and implementation of distributed systems. Atomic actions help deal with three kinds of bugs. First, atomic actions directly eliminate a class of concurrency bugs. Second, they facilitate automatic action scheduling, which eliminates a class of liveness bugs. Third, they help constrain nondeterminism, thereby eliminating Heisenbugs that can make distributed debugging intractable. This talk describes a practical technique for exploiting machine-local atomic actions to construct a distributed system.