On the Scalability of Snapshot Isolation

  • Masoud Saeida Ardekani
  • Pierre Sutra
  • Marc Shapiro
  • Nuno Preguiça
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8097)


Many distributed applications require transactions. However, transactional protocols that require strong synchronization are costly in large scale environments. Two properties help with scalability of a transactional system: genuine partial replication (GPR), which leverages the intrinsic parallelism of a workload, and snapshot isolation (SI), which decreases the need for synchronization. We show that under standard assumptions (data store accesses are not known in advance, and transactions may access arbitrary objects in the data store), it is impossible to have both SI and GPR. Our impossibility result is based on a novel decomposition of SI which proves that, like serializability, SI is expressible on plain histories.


Transactional Memory Impossibility Result Software Transactional Memory Snapshot Isolation Concurrent Transaction 
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.
    Daudjee, K., et al.: Lazy database replication with snapshot isolation. In: VLDB, pp. 715–726 (September 2006)Google Scholar
  2. 2.
    Serrano, D., et al.: Boosting Database Replication Scalability through Partial Replication and 1-Copy-Snapshot-Isolation. In: PRDC, pp. 290–297 (December 2007)Google Scholar
  3. 3.
    Armendáriz-Iñigo, J.E., et al.: SIPRe: a partial database replication protocol with SI replicas. In: SAC, pp. 2181–2185 (March 2008)Google Scholar
  4. 4.
    Bieniusa, A., et al.: Consistency in hindsight: A fully decentralized stm algorithm. In: IPDPS, pp. 1–12 (April 2010)Google Scholar
  5. 5.
    Riegel, T., et al.: Snapshot isolation for software transactional memory. In: TRANSACT (June 2006)Google Scholar
  6. 6.
    Adya, A.: Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions. Ph.D., MIT (March 1999)Google Scholar
  7. 7.
    Elnikety, S., et al.: Database Replication Using Generalized Snapshot Isolation. In: SRDS, pp. 73–84 (October 2005)Google Scholar
  8. 8.
    Berenson, H., et al.: A critique of ansi sql isolation levels. In: SIGMOD, pp. 1–10 (May 1995)Google Scholar
  9. 9.
    Sovran, Y., et al.: Transactional storage for geo-replicated systems. In: SOSP, pp. 385–400 (October 2011)Google Scholar
  10. 10.
    Schiper, N., et al.: P-store: Genuine partial replication in wide area networks. In: SRDS, pp. 214–224 (November 2010)Google Scholar
  11. 11.
    Ardekani, M.S., et al.: Non-Monotonic Snapshot Isolation. INRIA, Tech. Rep. RR-7805 (October 2012)Google Scholar
  12. 12.
    Bernstein, P., et al.: Concurrency Control and Recovery in Database Systems. Addison Wesley Publishing Company (1987)Google Scholar
  13. 13.
    Fischer, M.J., et al.: Impossibility of distributed consensus with one faulty process. Journal of the ACM 32(2), 374–382 (1985)zbMATHCrossRefGoogle Scholar
  14. 14.
    Abadi, M., et al.: The existence of refinement mappings. Theory Computer Science 82, 253–284 (1991)MathSciNetzbMATHCrossRefGoogle Scholar
  15. 15.
    Chan, A., et al.: Implementing Distributed Read-Only Transactions. IEEE Transactions on Software Engineering SE-11(2), 205–212 (1985)CrossRefGoogle Scholar
  16. 16.
    Garcia-Molina, H., et al.: Read-only transactions in a distributed database. ACM Trans. Database Syst. 7(2), 209–234 (1982)zbMATHCrossRefGoogle Scholar
  17. 17.
    Attiya, H., et al.: Inherent limitations on disjoint-access parallel implementations of transactional memory. In: SPAA, pp. 69–78 (2009)Google Scholar
  18. 18.
    Chandra, T.D., et al.: Unreliable failure detectors for reliable distributed systems. Journal of the ACM 43(2), 225–267 (1996)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Papadimitriou, C.H.: The serializability of concurrent database updates. Journal of the ACM 26(4), 631–653 (1979)MathSciNetzbMATHCrossRefGoogle Scholar
  20. 20.
    Guerraoui, R., et al.: On the correctness of transactional memory. In: PPoPP, pp. 175–184 (2008)Google Scholar
  21. 21.
    Peluso, S., et al.: Genuine replication, opacity and wait-free read transactions: can a stm get them all? In: WTTM, Madeira, Portugal (July 2012)Google Scholar
  22. 22.
    Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Taubenfeld, G. (ed.) DISC 2008. LNCS, vol. 5218, pp. 305–319. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  23. 23.
    Sciascia, D., et al.: Scalable deferred update replication. In: DSN, pp. 1–12 (June 2012)Google Scholar
  24. 24.
    Peluso, S., et al.: When scalability meets consistency: Genuine multiversion update-serializable partial data replication. In: ICDCS, pp. 455–465 (June 2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Masoud Saeida Ardekani
    • 1
  • Pierre Sutra
    • 2
  • Marc Shapiro
    • 3
  • Nuno Preguiça
    • 4
  1. 1.Université Pierre et Marie CurieParisFrance
  2. 2.University of NeuchâtelSwitzerland
  3. 3.INRIA & Université Pierre et Marie CurieParisFrance
  4. 4.CITIUniversidade Nova de LisboaLisbonPortugal

Personalised recommendations