Skip to main content

An Optimal Implementation of Fetch-and-Increment

  • Conference paper

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

Abstract

We present a new wait-free implementation of a Fetch&Inc object shared by n processes from read-write registers and load-linked/store-conditional (LL/SC) objects. The step complexity of each FI operation is O(logn), which is optimal. Our implementation uses O( max {m,n}) objects, each of which stores O(logm) bits, where m is the number of FI operations that are performed. For large m, the number of objects can be reduced to O(n 2). Similar implementations of other objects, such as Fetch&Inc and Swap, are also obtained.

Our implementation uses a new object, called an Aggregator. It supports an operation which, if successful, puts a value into its in-buffer that can depend on the value that is currently there, an operation that copies the value in its in-buffer to its out-buffer, provided its out-buffer is empty, and an operation that empties its out-buffer. We show how to implement an Aggregator from a small constant number of LL/SC objects so that all three operations have constant step complexity.

This research was supported in part by Discovery Grants and the Canada Research Chair Program of the Natural Sciences and Engineering Research Council of Canada (NSERC), and in part by the HP Innovation Research Program.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Afek, Y., Dauber, D., Touitou, D.: Wait-free made fast. In: Proceedings of the 27th Annual ACM Symposium on Theory of Computing (STOC), pp. 538–547 (1995)

    Google Scholar 

  2. Afek, Y., Weisberger, E., Weisman, H.: A completeness theorem for a class of synchronization objects. In: Proceedings of the 12th SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC), pp. 159–170 (1993)

    Google Scholar 

  3. Aghazadeh, Z., Golab, W., Woelfel, P.: Brief announcement: Resettable objects and efficient memory reclamation for concurrent algorithms. In: Proceedings of the 32nd SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC) (2013)

    Google Scholar 

  4. Alistarh, D., Aspnes, J., Censor-Hillel, K., Gilbert, S., Zadimoghaddam, M.: Optimal-time adaptive strong renaming, with applications to counting. In: Proceedings of the 30th SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC), pp. 239–248 (2011)

    Google Scholar 

  5. Buss, J.F., Kanellakis, P.C., Ragde, P.L., Shvartsman, A.A.: Parallel algorithms with processor failures and delays. J. Algs. 20, 45–86 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  6. Ellen, F., Ramachandran, V., Woelfel, P.: Efficient fetch-and-increment. In: Aguilera, M.K. (ed.) DISC 2012. LNCS, vol. 7611, pp. 16–30. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  7. Herlihy, M.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13(1), 124–149 (1991)

    Article  Google Scholar 

  8. Jayanti, P.: A time complexity lower bound for randomized implementations of some shared objects. In: Proceedings of the 9th SIGACT-SIGOPS Symposium on Principles of Distributed Computing (PODC), pp. 201–210 (1998)

    Google Scholar 

  9. Jayanti, P., Petrovic, S.: Efficiently implementing a large number of LL/SC objects. In: Anderson, J.H., Prencipe, G., Wattenhofer, R. (eds.) OPODIS 2005. LNCS, vol. 3974, pp. 17–31. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ellen, F., Woelfel, P. (2013). An Optimal Implementation of Fetch-and-Increment. In: Afek, Y. (eds) Distributed Computing. DISC 2013. Lecture Notes in Computer Science, vol 8205. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41527-2_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-41527-2_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-41526-5

  • Online ISBN: 978-3-642-41527-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics