Directory Protocols for Distributed Transactional Memory

  • Hagit Attiya
  • Vincent Gramoli
  • Alessia Milani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8913)


Distributed directory protocols for shared objects play an important role in providing access to higher level abstractions like transactional memory. They offer primitives to retrieve data and read it, or to move data and allow to write it. This chapter describes directory protocols for large-scale distributed systems and discusses the subtleties of incorporating them in a large-scale distributed transactional memory. We survey existing protocols, their advantages and drawbacks, and detail one protocol, Combine, which addresses these drawbacks.


Span Tree Leaf Node Transactional Memory Cache Coherence Spiral Path 
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.
    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
  2. 2.
    Nussbaum, D., Agarwal, A.: Scalability of parallel machines. Communications of the ACM (March 1991)Google Scholar
  3. 3.
    Demmer, M.J., Herlihy, M.P.: The arrow distributed directory protocol. In: Kutten, S. (ed.) DISC 1998. LNCS, vol. 1499, pp. 119–133. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  4. 4.
    Herlihy, M., Sun, Y.: Distributed transactional memory for metric-space networks. Distributed Computing 20(3), 195–208 (2007)CrossRefzbMATHGoogle Scholar
  5. 5.
    Sharma, G., Busch, C.: Distributed transactional memory for general networks. Distributed Computing, 1–34 (2014)Google Scholar
  6. 6.
    Zhang, B., Ravindran, B.: Relay: A cache-coherence protocol for distributed transactional memory. In: OPODIS, pp. 48–53 (2009)Google Scholar
  7. 7.
    Herlihy, M., Tirthapura, S., Wattenhofer, R.: Competitive concurrent distributed queuing. In: PODC, pp. 127–133 (2001)Google Scholar
  8. 8.
    Kuhn, F., Wattenhofer, R.: Dynamic analysis of the arrow distributed protocol. In: SPAA, pp. 294–301 (2004)Google Scholar
  9. 9.
    Raymond, K.: A tree-based algorithm for distributed mutual exclusion. TOCS 7(1), 61–77 (1989)CrossRefGoogle Scholar
  10. 10.
    Zhang, B., Ravindran, B.: Dynamic analysis of the relay cache-coherence protocol for distributed transactional memory. In: IPDPS, pp. 1–11 (2010)Google Scholar
  11. 11.
    Sun, Y.: The Ballistic Protocol: Location-aware Distributed Cache Coherence in Metric-Space Networks. PhD thesis, Brown University (May 2006)Google Scholar
  12. 12.
    Kruskal, C.P., Rudolph, L., Snir, M.: Efficient synchronization of multiprocessors with shared memory. In: PODC, pp. 218–228 (1986)Google Scholar
  13. 13.
    Pfister, G.F., Norton, V.A.: “hot spot” contention and combining in multistage interconnection networks. IEEE Trans. on Comp. 34(10), 943–948 (1985)CrossRefGoogle Scholar
  14. 14.
    Kuhn, F., Moscibroda, T., Nieberg, T., Wattenhofer, R.: Fast deterministic distributed maximal independent set computation on growth-bounded graphs. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 273–287. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Emek, Y., Peleg, D.: Approximating minimum max-stretch spanning trees on unweighted graphs. SIAM Journal on Computing 38(5), 1761–1781 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Herlihy, M., Wing, J.M.: Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)CrossRefGoogle Scholar
  17. 17.
    Manassiev, K., Mihailescu, M., Amza, C.: Exploiting distributed version concurrency in a transactional memory cluster. In: PPoPP, pp. 198–208 (2006)Google Scholar
  18. 18.
    Bocchino, R.L., Adve, V.S., Chamberlain, B.L.: Software transactional memory for large scale clusters. In: PPoPP, pp. 247–258 (2008)Google Scholar
  19. 19.
    Couceiro, M., Romano, P., Carvalho, N., Rodrigues, L.: D2STM: Dependable distributed software transactional memory. In: PRDC, pp. 307–313 (2009)Google Scholar
  20. 20.
    Gramoli, V., Guerraoui, R., Trigonakis, V.: TM2C: A software transactional memory for many-cores. In: EuroSys, pp. 351–364 (2012)Google Scholar
  21. 21.
    Dice, D., Shavit, N.: Understanding tradeoffs in software transactional memory. In: Proceedings of the International Symposium on Code Generation and Optimization, pp. 21–33 (2007)Google Scholar
  22. 22.
    Censier, L.M., Feautrier, P.: A new solution to coherence problems in multicache systems. IEEE Trans. on Comp. C-27(12), 1112–1118 (1978)CrossRefzbMATHGoogle Scholar
  23. 23.
    Chaiken, D., Fields, C., Kurihara, K., Agarwal, A.: Directory-based cache coherence in large-scale multiprocessors. Computer 23(6), 49–58 (1990)CrossRefGoogle Scholar
  24. 24.
    Agarwal, A., Chaiken, D., Kranz, D., Kubiatowicz, J., Kurihara, K., Maa, G., Nussbaum, D., Parkin, M., Yeung, D.: The MIT Alewife machine: A large-scale distributed-memory multiprocessor. In: Proceedings of Workshop on Scalable Shared Memory Multiprocessors (1991)Google Scholar
  25. 25.
    Archibald, J.K., Baer, J.L.: An economical solution to the cache coherence problem. In: ISCA, pp. 355–362 (1984)Google Scholar
  26. 26.
    Agarwal, A., Simoni, R., Hennessy, J.L., Horowitz, M.: An evaluation of directory schemes for cache coherence. In: ISCA, pp. 280–289 (1988)Google Scholar
  27. 27.
    James, D.V., Laundrie, A.T., Gjessing, S., Sohi, G.: Scalable coherent interface. Computer 23(6), 74–77 (1990)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Hagit Attiya
    • 1
  • Vincent Gramoli
    • 2
  • Alessia Milani
    • 3
  1. 1.TechnionHaifaIsrael
  2. 2.NICTA and University of SydneySydneyAustralia
  3. 3.LaBRI, UMR 5800Univ. BordeauxTalenceFrance

Personalised recommendations