Skip to main content

Distributed Transactional Memory for Metric-Space Networks

  • Conference paper
Distributed Computing (DISC 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3724))

Included in the following conference series:

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.

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

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

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)

    Google Scholar 

  2. Abraham, I., Malkhi, D., Dobzinski, O.: Land: stretch (1 + ε) locality-aware networks for dhts. In: Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms, pp. 550–559 (2004)

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  4. der Heide, F.M., Vöcking, B., Westermann, M.: Caching in networks (extended abstract). In: Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms, pp. 430–439 (2000)

    Google Scholar 

  5. Awerbuch, B., Bartal, Y., Fiat, A.: Competitive distributed file allocation. In: STOC 1993: Proceedings of the twenty-fifth annual ACM symposium on Theory of computing, pp. 164–173 (1993)

    Google Scholar 

  6. Awerbuch, B., Cowen, L.J., Smith, M.A.: Efficient asynchronous distributed symmetry breaking. In: Proceedings of the twenty-sixth annual ACM symposium on Theory of computing, pp. 214–223 (1994)

    Google Scholar 

  7. Awerbuch, B., Peleg, D.: Concurrent online tracking of mobile users. In: SIGCOMM 1991: Proceedings of the conference on Communications architecture & protocols, pp. 221–233 (1991)

    Google Scholar 

  8. Bartal, Y., Fiat, A., Rabani, Y.: Competitive algorithms for distributed data management (extended abstract). In: STOC 1992: Proceedings of the twenty-fourth annual ACM symposium on Theory of computing, pp. 39–50. ACM Press, New York (1992)

    Chapter  Google Scholar 

  9. Demirbas, M., Arora, A., Nolte, T., Lynch, N.: A hierarchy-based fault-local stabilizing algorithm for tracking in sensor networks. In: Higashino, T. (ed.) OPODIS 2004. LNCS, vol. 3544, pp. 299–315. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  10. Demmer, M.J., Herlihy, M.P.: The arrow directory protocol. In: Kutten, S. (ed.) DISC 1998. LNCS, vol. 1499, pp. 119–133. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

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

    Google Scholar 

  12. Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: Proceedings of the tenty-fourth annual symposium on Principles of distributed computing (2005) (to appear)

    Google Scholar 

  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 (June 2004)

    Google Scholar 

  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)

    Google Scholar 

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

    Google Scholar 

  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), May 2003, pp. 522–529 (2003)

    Google Scholar 

  17. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the twenty-second annual symposium on Principles of distributed computing, pp. 92–101. ACM Press, New York (2003)

    Chapter  Google Scholar 

  18. Herlihy, M., Tirthapura, S., Wattenhofer, R.: Competitive concurrent distributed queuing. In: Proceedings of the twentieth annual ACM symposium on Principles of distributed computing, pp. 127–133 (2001)

    Google Scholar 

  19. Herlihy, M.P., Tirthapura, S.: Self-stabilizing distributed queueing. In: Welch, J.L. (ed.) DISC 2001. LNCS, vol. 2180, p. 209. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  20. Hildrum, K., Krauthgamer, R., Kubiatowicz, J.: Object location in realistic networks. In: Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures, pp. 25–35 (2004)

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  23. Israeli, A., Rappoport, L.: Disjoint-access-parallel implementations of strong shared memory primitives. In: Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing, pp. 151–160 (1994)

    Google Scholar 

  24. David, R.: Karger and Matthias Ruhl. Finding nearest neighbors in growth-restricted metrics. In: Proceedings of the thiry-fourth annual ACM symposium on Theory of computing, pp. 741–750. ACM Press, New York (2002)

    Google Scholar 

  25. Krauthgamer, R., Lee, J.R.: Navigating nets: simple algorithms for proximity search. In: SODA 2004: Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms, pp. 798–807. Society for Industrial and Applied Mathematics (2004)

    Google Scholar 

  26. Li, J., Jannotti, J., Couto, D.S.J.D., 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, New York (2000)

    Chapter  Google Scholar 

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

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

  32. Martínez, 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, New York (2002)

    Chapter  Google Scholar 

  33. Moir, M.: Practical implementations of non-blocking synchronization primitives. In: Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing, pp. 219–228. ACM Press, New York (1997)

    Chapter  Google Scholar 

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

    Google Scholar 

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

    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, New York (2002)

    Chapter  Google Scholar 

  37. Greg Plaxton, C., 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)

    Google Scholar 

  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, New York (2002)

    Chapter  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  40. Rowstron, A.I.T., Druschel, P.: Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  41. Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing, pp. 204–213. ACM Press, New York (1995)

    Chapter  Google Scholar 

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

    Article  Google Scholar 

  43. Talwar, K.: Bypassing the embedding: algorithms for low dimensional metrics. In: STOC 2004: Proceedings of the thirty-sixth annual ACM symposium on Theory of computing, pp. 281–290 (2004)

    Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Herlihy, M., Sun, Y. (2005). Distributed Transactional Memory for Metric-Space Networks. In: Fraigniaud, P. (eds) Distributed Computing. DISC 2005. Lecture Notes in Computer Science, vol 3724. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11561927_24

Download citation

  • DOI: https://doi.org/10.1007/11561927_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29163-3

  • Online ISBN: 978-3-540-32075-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics