Skip to main content

Optimal Concurrency for List-Based Sets

  • Conference paper
  • First Online:
Parallel Computing Technologies (PaCT 2021)

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

Included in the following conference series:

Abstract

Designing an efficient concurrent data structure is a challenge that is not easy to meet. Intuitively, efficiency of an implementation is defined, in the first place, by its ability to process applied operations in parallel, without using unnecessary synchronization. As we show in this paper, even for a data structure as simple as a linked list used to implement the set type, the most efficient algorithms known so far are not concurrency-optimal: they may reject correct concurrent schedules. We propose a new algorithm for the list-based set based on a value-aware try-lock that we show to achieve optimal concurrency: it only rejects concurrent schedules that violate correctness of the implemented set type. We show that reaching this kind of optimality may be beneficial in practice. Our concurrency-optimal list-based set outperforms two state-of-the-art algorithms: the Lazy Linked List and the Harris-Michael List.

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 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.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

Notes

  1. 1.

    Note that this property refines the original notion of disjoint access parallelism (DAP) [7], trivially ensured by most linked-list implementations simply because all their operations “access” the head node and, thus, are allowed to conflict on the metadata.

  2. 2.

    Here we adapt to list-based sets the notion of concurrency-optimality, introduced in [1] for generic search data structures.

References

  1. Gramoli, V., Kuznetsov, P., Ravi, S.: In the search for optimal concurrency. In: Suomela, J. (ed.) SIROCCO 2016. LNCS, vol. 9988, pp. 143–158. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-48314-6_10

    Chapter  Google Scholar 

  2. Sutter, H.: Choose concurrency-friendly data structures. Dr. Dobb’s J. (2008)

    Google Scholar 

  3. Heller, S., Herlihy, M., Luchangco, V., Moir, M., Scherer, W.N., Shavit, N.: A lazy concurrent list-based set algorithm. In: Anderson, J.H., Prencipe, G., Wattenhofer, R. (eds.) OPODIS 2005. LNCS, vol. 3974, pp. 3–16. Springer, Heidelberg (2006). https://doi.org/10.1007/11795490_3

    Chapter  Google Scholar 

  4. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann (2012)

    Google Scholar 

  5. Harris, T.L.: A pragmatic implementation of non-blocking linked-lists. In: Welch, J. (ed.) DISC 2001. LNCS, vol. 2180, pp. 300–314. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45414-4_21

    Chapter  Google Scholar 

  6. Michael, M.M.: High performance dynamic lock-free hash tables and list-based sets. In: SPAA, pp. 73–82 (2002)

    Google Scholar 

  7. Guerraoui, R., Kapalka, M.: Principles of Transactional Memory, Synthesis Lectures on Distributed Computing Theory. Morgan and Claypool (2010)

    Google Scholar 

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

    Article  Google Scholar 

  9. Aksenov, V., Gramoli, V., Kuznetsov, P., Malova, A., Ravi, S.: A concurrency-optimal binary search tree. In: Rivera, F.F., Pena, T.F., Cabaleiro, J.C. (eds.) Euro-Par 2017. LNCS, vol. 10417, pp. 580–593. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-64203-1_42

    Chapter  Google Scholar 

  10. Aksenov, V., Gramoli, V., Kuznetsov, P., Ravi, S., Shang, D.: A concurrency-optimal list-based set. CoRR abs/1502.01633 (2021)

    Google Scholar 

  11. Gramoli, V.: More than you ever wanted to know about synchronization: synchrobench, measuring the impact of the synchronization on concurrent algorithms. In: PPoPP, pp. 1–10 (2015)

    Google Scholar 

  12. Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann (1996)

    Google Scholar 

  13. Sun Microsystems: Memory Management in the Java HotSpot Virtual Machine, April 2006. http://www.oracle.com/technetwork/java/javase/memorymanagement-whitepaper-150215.pdf

  14. Fomitchev, M., Ruppert, E.: Lock-free linked lists and skip lists. In: PODC, pp. 50–59 (2004)

    Google Scholar 

  15. Gibson, J., Gramoli, V.: Why non-blocking operations should be selfish. In: Moses, Y. (ed.) DISC 2015. LNCS, vol. 9363, pp. 200–214. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48653-5_14

    Chapter  Google Scholar 

  16. Kung, H.T., Papadimitriou, C.H.: An optimality theory of concurrency control for databases. In: SIGMOD, pp. 116–126 (1979)

    Google Scholar 

  17. Herlihy, M.: Apologizing versus asking permission: optimistic concurrency control for abstract data types. ACM Trans. Database Syst. 15(1), 96–124 (1990)

    Article  MathSciNet  Google Scholar 

  18. Weihl, W.E.: Commutativity-based concurrency control for abstract data types. IEEE Trans. Comput. 37(12), 1488–1505 (1988)

    Article  MathSciNet  Google Scholar 

  19. Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Taubenfeld, G. (ed.) DISC 2008. LNCS, vol. 5218, pp. 305–319. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-87779-0_21

    Chapter  Google Scholar 

  20. Gramoli, V., Harmanci, D., Felber, P.: On the input acceptance of transactional memory. Parallel Process. Lett. 20(1), 31–50 (2010)

    Article  MathSciNet  Google Scholar 

  21. Haas, A., et al.: Local linearizability for concurrent container-type data structures. In: CONCUR 2016, vol. 59, pp. 6:1–6:15 (2016)

    Google Scholar 

  22. David, T., Guerraoui, R., Trigonakis, V.: Asynchronized concurrency: the secret to scaling concurrent search data structures. In: ASPLOS, pp. 631–644 (2015)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Aksenov, V., Gramoli, V., Kuznetsov, P., Shang, D., Ravi, S. (2021). Optimal Concurrency for List-Based Sets. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2021. Lecture Notes in Computer Science(), vol 12942. Springer, Cham. https://doi.org/10.1007/978-3-030-86359-3_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-86359-3_29

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-86358-6

  • Online ISBN: 978-3-030-86359-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics