Transactions: From Local Atomicity to Atomicity in the Cloud

  • David Lomet
Part of the Lecture Notes in Computer Science book series (LNCS, volume 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.


Data Center Cloud Provider Atomic Action Transactional Memory Data Component 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Agrawal, D., Abbadi, A.E., Das, S.: Big Data and Cloud Computing: New Wine or just New Bottles? In: VLDB (2010), tutorialGoogle Scholar
  3. 3.
    Anderson, T., Kerr, R.: Recovery blocks in action: A system supporting high reliability. In: ICSE 1976, pp. 447–457 (1976)Google Scholar
  4. 4.
    Baker, J., Bond, C., Corbett, J., Furman, J.J., Khorlin, A., Larson, J., Leon, J.-M., Li, Y., Lloyd, A., Yushprakh, V.: Megastore: Providing Scalable, Highly Available Storage for Interactive Services. In: CIDR 2011, pp. 223–234 (2011)Google Scholar
  5. 5.
    Barga, R.S., Lomet, D.B., Shegalov, G., Weikum, G.: Recovery Guarantees for Internet Applications. ACM Trans. Internet Techn. 4(3), 289–328 (2004)CrossRefGoogle Scholar
  6. 6.
    Bernstein, P., Cseri, I., Dani, N., Ellis, N., Kakivaya, G., Kalhan, A., Lomet, D., Manne, R., Novik, L., Talius, T.: Adapting Microsoft SQL Server for Cloud Computing. In: ICDE 2011, pp. 1255–1263 (2011)Google Scholar
  7. 7.
    Brewer, E.A.: Towards Robust Distributed Systems Distributed Systems. PODC Keynote (July 19, 2000)Google Scholar
  8. 8.
    Gray, J., Lorie, R.A., Putzolu, G.R., Traiger, I.L.: Granularity of Locks in a Large Shared Data Base. In: VLDB 1975, pp. 428–451 (1975) Google Scholar
  9. 9.
    Maurice Herlihy, J., Moss, E.B.: Transactional Memory: Architectural Support for Lock-Free Data Structures. In: ISCA 1993, pp. 289–300 (1993)Google Scholar
  10. 10.
    Haerder, T., Reuter, A.: Principles of Transaction-Oriented Database Recovery. ACM Computing Surveys 15(4), 287–317 (1983)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Horning, J.J., Lauer, H.C., Melliar-Smith, P.M., Randell, B.: A program structure for error detection and recovery. In: Symposium on Operating Systems 1974, pp. 171–187 (1974)Google Scholar
  12. 12.
    Jones, C.B., Lomet, D.B., Romanovsky, A.B., Weikum, G.: The Atomic Manifesto. J. UCS 11(5), 636–651 (2005)Google Scholar
  13. 13.
    Levandoski, J.J., Lomet, D.B., Mokbel, M.F., Zhao, K.: Deuteronomy: Transaction Support for Cloud Data. In: CIDR 2011, pp. 123–133 (2011)Google Scholar
  14. 14.
    Lomet, D.B.: Process Structuring, Synchronization, and Recovery Using Atomic Actions. In: Language Design for Reliable Software, pp. 128–137 (1977)Google Scholar
  15. 15.
    Lomet, D.B., Fekete, A., Weikum, G., Zwilling, M.J.: Unbundling Transaction Services in the Cloud. In: CIDR (2009)Google Scholar
  16. 16.
    Ramakrishnan, R., Cooper, B., Silberstein, A.: Cloud Data Management @ Yahoo! In: Kitagawa, H., Ishikawa, Y., Li, Q., Watanabe, C. (eds.) DASFAA 2010. LNCS, vol. 5981, pp. 2–2. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  17. 17.
    Randell, B.: System Structure for Software Fault Tolerance. IEEE Trans. Software Eng. 1(2), 221–232 (1975)MathSciNetGoogle Scholar
  18. 18.
    Tandem Database Group: NonStop SQL, A Distributed, High-Performatlce, High-Availability Implementation of SQL. Tandem Technical Report 87.4 (April 1987)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • David Lomet
    • 1
  1. 1.Microsoft ResearchRedmondUSA

Personalised recommendations