Skip to main content
Log in

Distributed transactional memory for metric-space networks

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

Transactional Memory is a concurrent programming API in which concurrent threads synchronize via transactions (instead of locks). Although this model has mostly been studied in the context of multiprocessors, it has attractive features for distributed systems as well. In this paper, we consider the problem of implementing transactional memory in a network of nodes where communication costs form a metric. The heart of our design is a new cache-coherence protocol, called the Ballistic protocol, for tracking and moving up-to-date copies of cached objects. For constant-doubling metrics, a broad class encompassing both Euclidean spaces and growth-restricted networks, this protocol has stretch logarithmic in the diameter of the network.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abraham, I., Dolev, D., Malkhi, D.: Lls: a locality aware location service for mobile ad hoc networks. In: DIALM-POMC, pp. 75–84 (2004)

  2. Abraham, I., Malkhi, D., Dobzinski, O.: Land: stretch (\(1+\epsilon\)) locality-aware networks for dhts. In: Proceedings of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 550–559 (2004)

  3. Alon N., Babai L. and Itai A. (1986). A fast and simple randomized parallel algorithm for the maximal independent set problem. J. Alg. 7: 567–583

    Article  MATH  MathSciNet  Google Scholar 

  4. Meyer auf der Heide, F., Vöcking, B., Westermann, M.: Caching in networks (extended abstract). In: Proceedings of the 11th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 430–439 (2000)

  5. Awerbuch, B., Bartal, Y., Fiat, A.: Competitive distributed file allocation. In: STOC ’93: Proceedings of the 25th Annual ACM Symposium on Theory of Computing, pp. 164–173 (1993)

  6. Awerbuch, B., Cowen, L.J., Smith, M.A.: Efficient asynchronous distributed symmetry breaking. In: Proceedings of the 26th Annual ACM Symposium on Theory of Computing, pp. 214–223 (1994)

  7. Awerbuch, B., Peleg, D.: Concurrent online tracking of mobile users. In: SIGCOMM ’91: Proceedings of the Conference on Communications Architecture and Protocols, pp. 221–233 (1991)

  8. Bartal, Y., Fiat, A., Rabani, Y.: Competitive algorithms for distributed data management (extended abstract). In STOC ’92: Proceedings of the 24th Annual ACM Symposium on Theory of Computing, pp. 39–50. ACM Press (1992)

  9. Demirbas, M., Arora, A., Nolte, T., Lynch, N.: A hierarchy-based fault-local stabilizing algorithm for tracking in sensor networks. In: 8th International Conference on Principles of Distributed Systems (OPODIS) (2004)

  10. Demmer, M.J., Herlihy, M.P.: The arrow directory protocol. In: 12th International Symposium on Distributed Computing (1998)

  11. Grünewald, M., Meyer auf der Heide, F., Schindelhauer, C., Volbert, K.: Energy, congestion and dilation in radio networks. In: Proceedings of the 14th ACM Symposium on Parallel Algorithms and Architectures, 10-13 August 2002

  12. Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: Proceedings of the 24th Annual Symposium on Principles of Distributed Computing (2005, to appear)

  13. Hammond, L., Wong, V., Chen, M., Hertzberg, B., Carlstrom, B.D., Davis, J.D., Prabhu, M.K., Wijaya, H., Kozyrakis, C., Olukotun, K.: Transactional memory coherence and consistency. In: Proceedings of the 31st Annual International Symposium on Computer Architecture (2004)

  14. Harris, T., Fraser, K.: Language support for lightweight transactions. In: Proceedings of the 18th ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications, pp. 388–402 (2003)

  15. Harris, T., Marlow, S., Jones, S.P., Herlihy, M.: Composable memory transactions. In: Principles and Practice of Parallel Programming (2005, to appear)

  16. Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: Proceedings of the 23rd International Conference on Distributed Computing Systems (ICDS), pp. 522–529 (2003)

  17. Herlihy, M., Luchangco, V., Moir, M., Scherer, W.N., III.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the 22 Annual Symposium on Principles of Distributed Computing, pp. 92–101. ACM Press (2003)

  18. Herlihy, M., Tirthapura, S., Wattenhofer, R.: Competitive concurrent distributed queuing. In: Proceedings of the 20th Annual ACM Symposium on Principles of Distributed Computing, pp. 127–133 (2001)

  19. Herlihy, M.P., Tirthapura, S.: Self-stabilizing distributed queueing. In: Proceedings of 15th International Symposium on Distributed Computing (2001)

  20. Hildrum, K., Krauthgamer, R., Kubiatowicz, J.: Object location in realistic networks. In: Proceedings of the 16th Annual ACM Symposium on Parallelism in Algorithms and Architectures, pp. 25–35 (2004)

  21. Hildrum, K., Kubiatowicz, J.D., Rao, S., Zhao, B.Y.: Distributed object location in a dynamic network. In: Proceedings of the 14th ACM Symposium on Parallel Algorithms and Architectures, pp. 41–52 (2002)

  22. Scherer, W.N., III, Scott, M.L.: Contention management in dynamic software transactional memory. In: PODC Workshop on Concurrency and Synchronization in Java Programs (2004)

  23. Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing, pp. 151–160 (1994)

  24. Karger, D.R., Ruhl, M.: Finding nearest neighbors in growth-restricted metrics. In: Proceedings of the 34th Annual ACM Symposium on Theory of Computing, pp. 741–750. ACM Press (2002)

  25. Krauthgamer, R., Lee, J.R.: Navigating nets: simple algorithms for proximity search. In: SODA ’04: Proceedings of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 798–807. Society for Industrial and Applied Mathematics (2004)

  26. Li, J., Jannotti, J., De Couto, D.S.J., Karger, D.R., Morris, R.: A scalable location service for geographic ad hoc routing. In: Proceedings of the 6th Annual International Conference on Mobile Computing and Networking, pp. 120–130. ACM Press (2000)

  27. Li K. and Hudak P. (1989). Memory coherence in shared virtual memory systems. ACM Trans. Comput. Syst. 7(4): 321–359

    Article  Google Scholar 

  28. Liskov B. (1988). Distributed programming in argus. Commun. ACM 31(3): 300–312

    Article  MathSciNet  Google Scholar 

  29. Luby M. (1986). A simple parallel algorithm for the maximal independent set problem. SIAM J. Comput. 15(4): 1036–1055

    Article  MATH  MathSciNet  Google Scholar 

  30. Maggs, B., Meyer auf der Heide, F., Vöcking, B., Westermann, M.: Exploiting locality for data management in systems of limited bandwidth. In: FOCS ’97: Proceedings of the 38th Annual Symposium on Foundations of Computer Science, pp. 284–293. IEEE Computer Society (1997)

  31. Marathe, V.J., Scherer, W.N., III, Scott, M.L.: Design tradeoffs in modern software transactional memory systems. In: 7th Workshop on Languages, Compilers, and Run-time Support for Scalable Systems (2004)

  32. Martfnez, J.F., Torrellas, J.: Speculative synchronization: applying thread-level speculation to explicitly parallel applications. In: Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-X), pp. 18–29. ACM Press (2002)

  33. Moir, M.: Practical implementations of non-blocking synchronization primitives. In: Proceedings of the 16th Annual ACM Symposium on Principles of Distributed Computing, pp. 219–228. ACM Press (1997)

  34. Ng, E., Zhang, H.: Predicting internet network distance with coordiantes-based approaches. In: Proceedings of IEEE Infocom. (2002)

  35. Nitzberg B. and Lo V. (1991). Distributed shared memory: a survey of issues and algorithms. Computer 24(8): 52–60

    Article  Google Scholar 

  36. Oplinger, J., Lam, M.S.: Enhancing software reliability with speculative threads. In: Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-X), pp. 184–196. ACM Press (2002)

  37. Plaxton, C.G., Rajaraman, R., Richa, A.W.: Accessing nearby copies of replicated objects in a distributed environment. In: ACM Symposium on Parallel Algorithms and Architectures, pp. 311–320 (1997)

  38. Rajwar, R., Goodman, J.R.: Transactional lock-free execution of lock-based programs. In: Proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-X), pp. 5–17. ACM Press (2002)

  39. Raymond K. (1989). A tree-based algorithm for distributed mutual exclusion. ACM Trans. Comput. Syst. 7(1): 61–77

    Article  MathSciNet  Google Scholar 

  40. Ricart G. and Agrawala A.K. (1981). An optimal algorithm for mutual exclusion in computer networks. Commun. ACM 24(1): 9–17

    Article  MathSciNet  Google Scholar 

  41. Rowstron, A.I.T., Druschel, P.: Pastry: scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: Middleware (2001), pp. 329–350 (2001)

  42. Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, pp. 204–213. ACM Press (1995)

  43. Stone J.M., Stone H.S., Heidelberger P. and Turek J. (1993). Multiple reservations and the Oklahoma update. IEEE Parallel Distrib Technol 1(4): 58–71

    Article  Google Scholar 

  44. Talwar, K.: Bypassing the embedding: algorithms for low dimensional metrics. In: STOC ’04: Proceedings of the 36th Annual ACM Symposium on Theory of computing, pp. 281–290 (2004)

  45. Waldo, J., Arnold, K. (eds.): The Jini Specifications. Jini Technology Series. Pearson Education (2000)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maurice Herlihy.

Additional information

Supported by NSF grant 0410042 and by grants from Intel Corporation and Sun Microsystems.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Herlihy, M., Sun, Y. Distributed transactional memory for metric-space networks. Distrib. Comput. 20, 195–208 (2007). https://doi.org/10.1007/s00446-007-0037-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-007-0037-x

Keywords

Navigation