Transactions: From Local Atomicity to Atomicity in the Cloud

  • David Lomet

Lecture Notes on Computer Science 6875 |

Atomicity is a fundamental concept in computer science. Initially
it was defined as an abstraction to be used in a local context. But
over time, its use has expanded or scaled as application programmers
have come to rely on it. This reliance is based on atomicity’s ability to
make concurrent systems understandable and applications much simpler
to program. Atomicity has multiple origins, but it can be fairly said that
Brian Randell’s Reliability Project at the University of Newcastle in the
1970’s played a significant early role in defining the atomicity abstraction
and building an early prototype to realize it. This paper starts by
sketching the Newcastle contribution and goes on to explore how atomicity
has been stretched to deal with clusters of processors. The challenge
today is to deal well with systems of vast scale, as exemplified by the
enormous data centers of current cloud services providers. We sketch a
new and promising approach to this challenge.