Skip to main content

A Wait-Free Stack

  • Conference paper
  • First Online:
Distributed Computing and Internet Technology (ICDCIT 2016)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 9581))

  • 807 Accesses

Abstract

In this paper, we describe a novel algorithm to create a concurrent wait-free stack. To the best of our knowledge, this is the first wait-free algorithm for a general purpose stack. In the past, researchers have proposed restricted wait-free implementations of stacks, lock-free implementations, and efficient universal constructions that can support wait-free stacks. The crux of our wait-free implementation is a fast pop operation that does not modify the stack top; instead, it walks down the stack till it finds a node that is unmarked. It marks it but does not delete it. Subsequently, it is lazily deleted by a cleanup operation. This operation keeps the size of the stack in check by not allowing the size of the stack to increase beyond a factor of W as compared to the actual size. All our operations are wait-free and linearizable.

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 EPUB and 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

References

  1. Afek, Y., Gafni, E., Morrison, A.: Common2 extended to stacks and unbounded concurrency. Distrib. Comput. 20(4), 239–252 (2007)

    Article  MATH  Google Scholar 

  2. Bar-Nissan, G., Hendler, D., Suissa, A.: A dynamic elimination-combining stack algorithm. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 544–561. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  3. David, M., Brodsky, A., Fich, F.E.: Restricted stack implementations. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 137–151. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  4. Fatourou, P., Kallimanis, N.D.: A highly-efficient wait-free universal construction. In: SPAA 2011, pp. 325–334. ACM (2011)

    Google Scholar 

  5. Goel, S., Aggarwal, P., Sarangi, S.: full paper: “a wait-free stack". http://arxiv.org/abs/1510.00116

  6. Hendler, D., Incze, I., Shavit, N., Tzafrir, M.: Flat combining and the synchronization-parallelism tradeoff. In: Proceedings of the 22nd ACM Symposium on Parallelism in Algorithms and Architectures, pp. 355–364. ACM (2010)

    Google Scholar 

  7. Hendler, D., Kutten, S.: Constructing shared objects that are both robust and high-throughput. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 428–442. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  8. Hendler, D., Kutten, S., Michalak, E.: An adaptive technique for constructing robust and high-throughput shared objects-technical report (2010)

    Google Scholar 

  9. Hendler, D., Shavit, N., Yerushalmi, L.: A scalable lock-free stack algorithm. In: SPAA 2004, pp. 206–215. ACM (2004)

    Google Scholar 

  10. Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)

    Article  Google Scholar 

  11. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Elsevier, Burlington (2012)

    Google Scholar 

  12. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  13. Shavit, N., Zemach, A.: Combining funnels: a dynamic approach to software combining. J. Parallel Distrib. Comput. 60(11), 1355–1387 (2000)

    Article  MATH  Google Scholar 

  14. Treiber, R.K.: Systems programming: coping with parallelism. Thomas J. Watson Research Center, International Business Machines Incorporated (1986)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Smruti R. Sarangi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Goel, S., Aggarwal, P., Sarangi, S.R. (2016). A Wait-Free Stack. In: Bjørner, N., Prasad, S., Parida, L. (eds) Distributed Computing and Internet Technology. ICDCIT 2016. Lecture Notes in Computer Science(), vol 9581. Springer, Cham. https://doi.org/10.1007/978-3-319-28034-9_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-28034-9_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-28033-2

  • Online ISBN: 978-3-319-28034-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics