Skip to main content

Universal constructions for large objects

  • Conference paper
  • First Online:
Distributed Algorithms (WDAG 1995)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 972))

Included in the following conference series:

Abstract

We present lock-free and wait-free universal constructions for implementing large shared objects. Most previous universal constructions require processes to copy the entire object state, which is impractical for large objects. Previous attempts to address this problem require programmers to explicitly fragment large objects into smaller, more manageable pieces, paying particular attention to how such pieces are copied. In contrast, our constructions are designed to largely shield programmers from this fragmentation. Furthermore, for many objects, our constructions result in lower copying overhead than previous ones.

Fragmentation is achieved in our constructions through the use of load-linked, store-conditional, and validate operations on a “large” multi-word shared variable. Before presenting our constructions, we show that these operations can be efficiently implemented from similar one-word primitives.

Work supported, in part, by NSF contract CCR 9216421, and by a Young Investigator Award from the U.S. Army Research Office, grant number DAAHO4-95-1-0323.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Anderson and M. Moir, “Universal Constructions for Multi-Object Operations”, to appear in the Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, 1995.

    Google Scholar 

  2. G. Barnes, “A Method for Implementing Lock-Free Shared Data Structures”, Proceedings of the Fifth Annual ACM Symposium on Parallel Algorithms and Architectures, 1993, pp. 261–270.

    Google Scholar 

  3. M. Herlihy, “Wait-Free Synchronization”, ACM Transactions on Programming Languages and Systems, Vol. 13, No. 1, 1991, pp. 124–149.

    Article  Google Scholar 

  4. M. Herlihy, “A Methodology for Implementing Highly Concurrent Data Objects”, ACM Transactions on Programming Languages and Systems, Vol. 15, No. 5, 1993, pp. 745–770.

    Article  Google Scholar 

  5. A. Israeli and L. Rappoport, “Disjoint-Access-Parallel Implementations of Strong Shared Memory Primitives”, Proceedings of the 13th Annual ACM Symposium on Principles of Distributed Computing, ACM, New York, August 1994, pp. 151–160.

    Google Scholar 

  6. N. Shavit and D. Touitou, “Software Transactional Memory”, to appear in the Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jean-Michel Hélary Michel Raynal

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Anderson, J.H., Moir, M. (1995). Universal constructions for large objects. In: Hélary, JM., Raynal, M. (eds) Distributed Algorithms. WDAG 1995. Lecture Notes in Computer Science, vol 972. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022146

Download citation

  • DOI: https://doi.org/10.1007/BFb0022146

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-44783-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics