Skip to main content

The Computability of Relaxed Data Structures: Queues and Stacks as Examples

  • Conference paper
  • First Online:
Book cover Structural Information and Communication Complexity (SIROCCO 2015)

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

Abstract

Most concurrent data structures being designed today are versions of known sequential data structures. However, in various cases it makes sense to relax the semantics of traditional concurrent data structures in order to get simpler and possibly more efficient and scalable implementations. For example, when solving the classical producer-consumer problem by implementing a concurrent queue, it might be enough to allow the dequeue operation (by a consumer) to return and remove one of the two oldest values in the queue, and not necessarily the oldest one. We define infinitely many possible relaxations of several traditional data structures: queues, stacks and multisets, and examine their relative computational power.

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. Adve, S.V., Gharachorloo, K.: Shared memory consistency models: A tutorial. IEEE Computer 29(12), 66–76 (1996)

    Article  Google Scholar 

  2. Afek, Y., Korland, G., Natanzon, M., Shavit, N.: Scalable producer-consumer pools based on elimination-diffraction trees. In: D’Ambra, P., Guarracino, M., Talia, D. (eds.) Euro-Par 2010, Part II. LNCS, vol. 6272, pp. 151–162. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  3. Afek, Y., Korland, G., Yanovsky, E.: Quasi-linearizability: Relaxed consistency for improved concurrency. In: Lu, C., Masuzawa, T., Mosbah, M. (eds.) OPODIS 2010. LNCS, vol. 6490, pp. 395–410. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  4. Attiya, H., Guerraoui, R., Hendler, D., Kuznetsov, P.: The complexity of obstruction-free implementations. J. ACM 56(4), 1–33 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  5. Borowsky, E., Gafni, E.: Generalizecl FLP impossibility result for t-resilient asynchronous computations. In: Proc. 25th ACM Symp. on Theory of Computing, pp. 91–100 (1993)

    Google Scholar 

  6. Ellen, F., Hendler, D., Shavit, N.: On the inherent sequentiality of concurrent objects. SIAM Journal on Computing 41(3), 519–536 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  7. Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. Journal of the ACM 32(2), 374–382 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  8. Henzinger, T., Kirsch, C., Payer, H., Sezgin, A., Sokolova, A.: Quantitative relaxation of concurrent data structures. SIGPLAN Not 48(1), 317–328 (2013)

    Article  MATH  Google Scholar 

  9. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, p. 508. Morgan Kaufmann Publishers (2008)

    Google Scholar 

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

    Article  Google Scholar 

  11. Herlihy, M.P., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example. In: Proc. of the 23rd International Conference on Distributed Computing Systems, p. 522 (2003)

    Google Scholar 

  12. Herlihy, M.P., Shavit, N.: The topological structure of asynchronous computability. Journal of the ACM 46(6), 858–923 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  13. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. TOPLAS 12(3), 463–492 (1990)

    Article  Google Scholar 

  14. Jayanti, P., Toueg, S.: Some results on the impossibility, universality, and decidability of consensus. In: Rozenberg, G. (ed.) APN 1993. LNCS, vol. 674, pp. 69–84. Springer, Heidelberg (1993)

    Google Scholar 

  15. Kirsch, C.M., Payer, H., Röck, H., Sokolova, A.: Performance, scalability, and semantics of concurrent FIFO queues. In: Xiang, Y., Stojmenovic, I., Apduhan, B.O., Wang, G., Nakano, K., Zomaya, A. (eds.) ICA3PP 2012, Part I. LNCS, vol. 7439, pp. 273–287. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  16. Loui, M.C., Abu-Amara, H.: Memory requirements for agreement among unreliable asynchronous processes. Advances in Computing Research 4, 163–183 (1987)

    MathSciNet  Google Scholar 

  17. Saks, M., Zaharoglou, F.: Wait-free k-set agreement is impossible: The topology of public knowledge. SIAM Journal on Computing 29 (2000)

    Google Scholar 

  18. Shavit, N.: Data structures in the multicore age. Communications of the ACM 54(3), 76–84 (2011)

    Article  Google Scholar 

  19. Sundell, H., Gidenstam, A., Papatriantafilou, M., Tsigas, P.: A lock-free algorithm for concurrent bags. In: Proc. of the Twenty-Third Annual ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2011, pp. 335–344 (2011)

    Google Scholar 

  20. Taubenfeld, G.: Synchronization Algorithms and Concurrent Programming, 423 p. Pearson / Prentice-Hall (2006). ISBN 0-131-97259-6

    Google Scholar 

  21. Taubenfeld, G.: Weak read/write registers. In: Frey, D., Raynal, M., Sarkar, S., Shyamasundar, R.K., Sinha, P. (eds.) ICDCN 2013. LNCS, vol. 7730, pp. 423–427. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nir Shavit .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Shavit, N., Taubenfeld, G. (2015). The Computability of Relaxed Data Structures: Queues and Stacks as Examples. In: Scheideler, C. (eds) Structural Information and Communication Complexity. SIROCCO 2015. Lecture Notes in Computer Science(), vol 9439. Springer, Cham. https://doi.org/10.1007/978-3-319-25258-2_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-25258-2_29

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-25257-5

  • Online ISBN: 978-3-319-25258-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics