Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/11561927_24guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Distributed transactional memory for metric-space networks

Published: 26 September 2005 Publication History

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.

References

[1]
Ittai Abraham, Danny Dolev, and Dahlia Malkhi. Lls: a locality aware location service for mobile ad hoc networks. In DIALM-POMC, pages 75-84, 2004.
[2]
Ittai Abraham, Dahlia Malkhi, and Oren Dobzinski. Land: stretch (1+ε) localityaware networks for dhts. In Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms, pages 550-559, 2004.
[3]
N. Alon, L. Babai, and A. Itai. A fast and simple randomized parallel algorithm for the maximal independent set problem. J. Algorithms, 7:567-583, 1986.
[4]
Friedhelm Meyer auf der Heide, Berthold Vöcking, and Matthias Westermann. Caching in networks (extended abstract). In Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms, pages 430-439, 2000.
[5]
Baruch Awerbuch, Yair Bartal, and Amos Fiat. Competitive distributed file allocation. In STOC '93: Proceedings of the twenty-fifth annual ACM symposium on Theory of computing, pages 164-173, 1993.
[6]
Baruch Awerbuch, Lenore J. Cowen, and Mark A. Smith. Efficient asynchronous distributed symmetry breaking. In Proceedings of the twenty-sixth annual ACM symposium on Theory of computing, pages 214-223, 1994.
[7]
Baruch Awerbuch and David Peleg. Concurrent online tracking of mobile users. In SIGCOMM '91: Proceedings of the conference on Communications architecture & protocols, pages 221-233, 1991.
[8]
Yair Bartal, Amos Fiat, and Yuval Rabani. Competitive algorithms for distributed data management (extended abstract). In STOC '92: Proceedings of the twentyfourth annual ACM symposium on Theory of computing, pages 39-50. ACM Press, 1992.
[9]
M. Demirbas, A. Arora, T. Nolte, and N. Lynch. A hierarchy-based fault-local stabilizing algorithm for tracking in sensor networks. In 8th International Conference on Principles of Distributed Systems (OPODIS), 2004.
[10]
M. J. Demmer and M. P. Herlihy. The arrow directory protocol. In 12th International Symposium on Distributed Computing, 1998.
[11]
Matthias Grünewald, Friedhelm Meyer auf der Heide, Christian Schindelhauer, and Klaus Volbert. Energy, congestion and dilation in radio networks. In Proceedings of the 14th ACM Symposium on Parallel Algorithms and Architectures, 10 - 13 August 2002.
[12]
R. Guerraoui, M. Herlihy, and B. Pochon. Toward a theory of transactional contention managers. In Proceedings of the tenty-fourth annual symposium on Principles of distributed computing, 2005. To appear.
[13]
Lance Hammond, Vicky Wong, Mike Chen, Ben Hertzberg, Brian D. Carlstrom, John D. Davis, Manohar K. Prabhu, Honggo Wijaya, Christos Kozyrakis, and Kunle Olukotun. Transactional memory coherence and consistency. In Proceedings of the 31st Annual International Symposium on Computer Architecture, June 2004.
[14]
Tim Harris and Keir Fraser. Language support for lightweight transactions. In Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pages 388-402, 2003.
[15]
Tim Harris, Simon Marlow, Simon Peyton Jones, and Maurice Herlihy. Composable memory transactions. In Principles and Practice of Parallel Programming, 2005. To appear.
[16]
Maurice Herlihy, Victor Luchangco, and Mark Moir. Obstruction-free synchronization: Double-ended queues as an example. In Proceedings of the 23rd International Conference on Distributed Computing Systems (ICDS), pages 522-529, May 2003.
[17]
Maurice Herlihy, Victor Luchangco, Mark Moir, and William N. Scherer, III. Software transactional memory for dynamic-sized data structures. In Proceedings of the twenty-second annual symposium on Principles of distributed computing, pages 92-101. ACM Press, 2003.
[18]
Maurice Herlihy, Srikanta Tirthapura, and Roger Wattenhofer. Competitive concurrent distributed queuing. In Proceedings of the twentieth annual ACM symposium on Principles of distributed computing, pages 127-133, 2001.
[19]
M. P. Herlihy and S. Tirthapura. Self-stabilizing distributed queueing. In Proceedings of 15th International Symposium on Distributed Computing, October 2001.
[20]
Kirsten Hildrum, Robert Krauthgamer, and John Kubiatowicz. Object location in realistic networks. In Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures, pages 25-35, 2004.
[21]
Kirsten Hildrum, John D. Kubiatowicz, Satish Rao, and Ben Y. Zhao. Distributed object location in a dynamic network. In Proceedings of the Fourteenth ACM Symposium on Parallel Algorithms and Architectures, pages 41-52, August 2002.
[22]
W. N. Scherer III and M. L. Scott. Contention management in dynamic software transactional memory. In PODC Workshop on Concurrency and Synchronization in Java Programs, July 2004.
[23]
Amos Israeli and Lihu Rappoport. Disjoint-access-parallel implementations of strong shared memory primitives. In Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing, pages 151-160, 1994.
[24]
David R. Karger and Matthias Ruhl. Finding nearest neighbors in growthrestricted metrics. In Proceedings of the thiry-fourth annual ACM symposium on Theory of computing, pages 741-750. ACM Press, 2002.
[25]
Robert Krauthgamer and James R. Lee. Navigating nets: simple algorithms for proximity search. In SODA '04: Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms, pages 798-807. Society for Industrial and Applied Mathematics, 2004.
[26]
Jinyang Li, John Jannotti, Douglas S. J. De Couto, David R. Karger, and Robert Morris. A scalable location service for geographic ad hoc routing. In Proceedings of the 6th annual international conference on Mobile computing and networking, pages 120-130. ACM Press, 2000.
[27]
Kai Li and Paul Hudak. Memory coherence in shared virtual memory systems. ACM Trans. Comput. Syst., 7(4):321-359, 1989.
[28]
Barbara Liskov. Distributed programming in argus. Commun. ACM, 31(3):300- 312, 1988.
[29]
Michael Luby. A simple parallel algorithm for the maximal independent set problem. SIAM J. Comput., 15(4):1036-1055, 1986.
[30]
B. Maggs, F. Meyer auf der Heide, B. Vöcking, and M. Westermann. Exploiting locality for data management in systems of limited bandwidth. In FOCS '97: Proceedings of the 38th Annual Symposium on Foundations of Computer Science, pages 284-293. IEEE Computer Society, 1997.
[31]
V. J. Marathe, W. N. Scherer III, and M. L. Scott. Design tradeoffs in modern software transactional memory systems. In 7th Workshop on Languages, Compilers, and Run-time Support for Scalable Systems, October 2004.
[32]
Jos F. Martnez and Josep Torrellas. Speculative synchronization: applying threadlevel speculation to explicitly parallel applications. In Proceedings of the 10th international conference on architectural support for programming languages and operating systems (ASPLOS-X), pages 18-29. ACM Press, 2002.
[33]
Mark Moir. Practical implementations of non-blocking synchronization primitives. In Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing, pages 219-228. ACM Press, 1997.
[34]
E. Ng and H. Zhang. Predicting internet network distance with coordiantes-based approaches. In Proceedings of IEEE Infocom, 2002.
[35]
B Nitzberg and V. Lo. Distributed shared memory: a survey of issues and algorithms. Computer, 24(8):52-60, 1991.
[36]
Jeffrey Oplinger and Monica S. Lam. Enhancing software reliability with speculative threads. In Proceedings of the 10th international conference on architectural support for programming languages and operating systems (ASPLOS-X), pages 184-196. ACM Press, 2002.
[37]
C. Greg Plaxton, Rajmohan Rajaraman, and Andrea W. Richa. Accessing nearby copies of replicated objects in a distributed environment. In ACM Symposium on Parallel Algorithms and Architectures, pages 311-320, 1997.
[38]
Ravi Rajwar and James R. Goodman. Transactional lock-free execution of lockbased programs. In Proceedings of the 10th international conference on architectural support for programming languages and operating systems (ASPLOS-X), pages 5-17. ACM Press, 2002.
[39]
Kerry Raymond. A tree-based algorithm for distributed mutual exclusion. ACM Trans. Comput. Syst., 7(1):61-77, 1989.
[40]
Antony I. T. Rowstron and Peter Druschel. Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In Middleware 2001, pages 329-350, 2001.
[41]
Nir Shavit and Dan Touitou. Software transactional memory. In Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing, pages 204-213. ACM Press, 1995.
[42]
Janice M. Stone, Harold S. Stone, Phil Heidelberger, and John Turek. Multiple reservations and the Oklahoma update. IEEE Parallel and Distributed Technology, 1(4):58-71, November 1993.
[43]
Kunal Talwar. Bypassing the embedding: algorithms for low dimensional metrics. In STOC '04: Proceedings of the thirty-sixth annual ACM symposium on Theory of computing, pages 281-290, 2004.
[44]
Jim Waldo and Ken Arnold, editors. The Jini Specifications. Jini Technology Series. Pearson Education, 2000.

Cited By

View all
  • (2020)Scalable and serializable networked multi-actor programmingProceedings of the ACM on Programming Languages10.1145/34282664:OOPSLA(1-30)Online publication date: 13-Nov-2020
  • (2018)$$\hbox {TM}^{2}$$TM2CDistributed Computing10.1007/s00446-017-0310-631:5(367-388)Online publication date: 1-Oct-2018
  • (2017)Fast In-Memory Transaction Processing Using RDMA and HTMACM Transactions on Computer Systems10.1145/309270135:1(1-37)Online publication date: 13-Jul-2017
  • Show More Cited By

Index Terms

  1. Distributed transactional memory for metric-space networks
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    DISC'05: Proceedings of the 19th international conference on Distributed Computing
    September 2005
    518 pages
    ISBN:3540291636

    Sponsors

    • Université Paris-Sud 11: Université Paris-Sud 11
    • Universitas Varsoviensis: Universitas Varsoviensis
    • CNRS: Centre National De La Rechercue Scientifique
    • University of Liverpool
    • INRIA: Institut Natl de Recherche en Info et en Automatique

    In-Cooperation

    • Warsaw Univ.: Warsaw University
    • Jagiellonian Univ.: Jagiellonian University

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 26 September 2005

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 16 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Scalable and serializable networked multi-actor programmingProceedings of the ACM on Programming Languages10.1145/34282664:OOPSLA(1-30)Online publication date: 13-Nov-2020
    • (2018)$$\hbox {TM}^{2}$$TM2CDistributed Computing10.1007/s00446-017-0310-631:5(367-388)Online publication date: 1-Oct-2018
    • (2017)Fast In-Memory Transaction Processing Using RDMA and HTMACM Transactions on Computer Systems10.1145/309270135:1(1-37)Online publication date: 13-Jul-2017
    • (2017)Partial Rollback-based Scheduling on In-memory Transactional Data GridsBig Data Research10.1016/j.bdr.2017.06.0049:C(47-56)Online publication date: 1-Sep-2017
    • (2016)Data-centric execution of speculative parallel programsThe 49th Annual IEEE/ACM International Symposium on Microarchitecture10.5555/3195638.3195644(1-13)Online publication date: 15-Oct-2016
    • (2016)Partial Replication Policies for Dynamic Distributed Transactional Memory in Edge CloudsProceedings of the 1st Workshop on Middleware for Edge Clouds & Cloudlets10.1145/3017116.3022872(1-6)Online publication date: 12-Dec-2016
    • (2016)Fast and general distributed transactions using RDMA and HTMProceedings of the Eleventh European Conference on Computer Systems10.1145/2901318.2901349(1-17)Online publication date: 18-Apr-2016
    • (2015)Fast in-memory transaction processing using RDMA and HTMProceedings of the 25th Symposium on Operating Systems Principles10.1145/2815400.2815419(87-104)Online publication date: 4-Oct-2015
    • (2013)Hyflow2Proceedings of the 2013 International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools10.1145/2500828.2500836(79-88)Online publication date: 11-Sep-2013
    • (2013)DRASyncProceedings of the 20th European MPI Users' Group Meeting10.1145/2488551.2488558(49-54)Online publication date: 15-Sep-2013
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media