A Quorum-Based Replication Framework for Distributed Software Transactional Memory

  • Bo Zhang
  • Binoy Ravindran
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7109)


Distributed software transactional memory (D-STM) promises to alleviate difficulties with lock-based (distributed) synchronization and object performance bottlenecks in distributed systems. Past single copy data-flow (SC) D-STM proposals keep only one writable copy of each object in the system and are not fault-tolerant in the presence of network node/link failures in large-scale distributed systems. In this paper, we propose a quorum-based replication (QR) D-STM model, which provides provable fault-tolerant property without incurring high communication overhead compared with SC model. QR model operates on an overlay tree constructed on a metric-space failure-prone network where communication cost between nodes forms a metric. QR model stores object replicas in a tree quorum system, where two quorums intersect if one of them is a write quorum, and ensures the consistency among replicas at commit-time. The communication cost of an operation in QR model is proportional to the communication cost from the requesting node to its closest read or write quorum. In the presence of node failures, QR model exhibits high availability and degrades gracefully when the number of failed nodes increases, with reasonable higher communication cost.


Communication Cost Read Operation Transactional Memory Quorum System Software Transactional Memory 
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.
    Harris, T., Larus, J.R., Rajwar, R.: Transactional Memory, 2nd edn. Morgan and Claypool (2010)Google Scholar
  2. 2.
    Herlihy, M., Sun, Y.: Distributed transactional memory for metric-space networks. Distributed Computing 20(3), 195–208 (2007)CrossRefzbMATHGoogle Scholar
  3. 3.
    Arnold, K., Scheifler, R., Waldo, J., O’Sullivan, B., Wollrath, A.: Jini Specification. Addison-Wesley Longman Publishing Co., Inc., Boston (1999)Google Scholar
  4. 4.
    Bocchino, R.L., Adve, V.S., Chamberlain, B.L.: Software transactional memory for large scale clusters. In: PPoPP 2008: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 247–258. ACM, New York (2008)Google Scholar
  5. 5.
    Manassiev, K., Mihailescu, M., Amza, C.: Exploiting distributed version concurrency in a transactional memory cluster. In: PPoPP 2006: Proceedings of the Eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 198–208. ACM, New York (2006)Google Scholar
  6. 6.
    Kotselidis, C., Ansari, M., Jarvis, K., Luján, M., Kirkham, C., Watson, I.: Distm: A software transactional memory framework for clusters. In: ICPP 2008: Proceedings of the 37th International Conference on Parallel Processing, pp. 51–58. IEEE Computer Society, Washington, DC (2008)Google Scholar
  7. 7.
    Couceiro, M., Romano, P., Carvalho, N., Rodrigues, L.: D2stm: Dependable distributed software transactional memory. In: Proceedings of the 2009 15th IEEE Pacific Rim International Symposium on Dependable Computing, PRDC 2009, pp. 307–313. IEEE Computer Society, Washington, DC (2009)CrossRefGoogle Scholar
  8. 8.
    Zhang, B., Ravindran, B.: Brief announcement: Relay: A cache-coherence protocol for distributed transactional memory. In: Abdelzaher, T., Raynal, M., Santoro, N. (eds.) OPODIS 2009: Proceedings of the 13th International Conference on Principles of Distributed Systems. LNCS, vol. 5923, pp. 48–53. Springer, Heidelberg (2009)Google Scholar
  9. 9.
    Attiya, H., Gramoli, V., Milani, A.: A Provably Starvation-Free Distributed Directory Protocol. In: Dolev, S., Cobb, J., Fischer, M., Yung, M. (eds.) SSS 2010. LNCS, vol. 6366, pp. 405–419. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  10. 10.
    Attiya, H., Milani, A.: Transactional scheduling for read-dominated workloads. In: OPODIS 2009: Proceedings of the 13th International Conference on Principles of Distributed Systems. LNCS, vol. 5923, pp. 3–17. Springer, Heidelberg (2009)Google Scholar
  11. 11.
    Agrawal, D., El Abbadi, A.: The tree quorum protocol: an efficient approach for managing replicated data. In: Proceedings of the Sixteenth International Conference on Very Large Databases, pp. 243–254. Morgan Kaufmann Publishers Inc., San Francisco (1990)Google Scholar
  12. 12.
    Schlichting, R.D., Schneider, F.B.: Fail-stop processors: an approach to designing fault-tolerant computing systems. ACM Trans. Comput. Syst. 1, 222–238 (1983)CrossRefGoogle Scholar
  13. 13.
    Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: PODC 2005: Proceedings of the Twenty-Fourth Annual ACM Symposium on Principles of Distributed Computing, pp. 258–264. ACM, New York (2005)Google Scholar
  14. 14.
    Bernstein, P.A., Goodman, N.: Multiversion concurrency control - theory and algorithms. ACM Trans. Database Syst. 8, 465–483 (1983)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Bo Zhang
    • 1
  • Binoy Ravindran
    • 1
  1. 1.ECE DepartmentVirginia TechBlacksburgUSA

Personalised recommendations