In the Search for Optimal Concurrency

  • Vincent Gramoli
  • Petr Kuznetsov
  • Srivatsan RaviEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9988)


It is common practice to use the epithet “highly concurrent” referring to data structures that are supposed to perform well in concurrent environments. But how do we measure the concurrency of a data structure in the first place? In this paper, we propose a way to do this, which allowed us to formalize the notion of a concurrency-optimal implementation.

The concurrency of a program is defined here as the program’s ability to accept concurrent schedules, i.e., interleavings of steps of its sequential implementation. To make the definition sound, we introduce a novel correctness criterion, LS-linearizability, that, in addition to classical linearizability, requires the interleavings of memory accesses to be locally indistinguishable from sequential executions. An implementation is then concurrency-optimal if it accepts all LS-linearizable schedules. We explore the concurrency properties of search data structures which can be represented in the form of directed acyclic graphs exporting insert, delete and search operations. We prove, for the first time, that pessimistic (e.g., based on conservative locking) and optimistic serializable (e.g., based on serializable transactional memory) implementations of search data-structures are incomparable in terms of concurrency. Thus, neither of these two implementation classes is concurrency-optimal, hence raising the question of the existence of concurrency-optimal programs.


Concurrency Search data structures Lower bounds 



This research was supported under Australian Research Council’s Discovery Projects funding scheme (project number 160104801) entitled “Data Structures for Multi-Core”. Vincent Gramoli is the recipient of the Australian Research Council Discovery International Award. Petr Kuznetsov was supported by the Agence Nationale de la Recherche, under grant agreement N ANR-14-CE35-0010-01, project DISCMAT. Srivatsan Ravi acknowledges support from the National Science Foundation (NSF) grant CNS-1117065.


  1. 1.
    Afek, Y., Matveev, A., Shavit, N.: Pessimistic software lock-elision. In: Aguilera, M.K. (ed.) DISC 2012. LNCS, vol. 7611, pp. 297–311. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-33651-5_21 CrossRefGoogle Scholar
  2. 2.
    Aguilera, M.K., Frølund, S., Hadzilacos, V., Horn, S.L., Toueg, S.: Abortable and query-abortable objects and their efficient implementation. In: PODC, pp. 23–32 (2007)Google Scholar
  3. 3.
    Attiya, H., Welch, J.: Distributed Computing: Fundamentals, Simulations, and Advanced Topics. Wiley, New York (2004)CrossRefzbMATHGoogle Scholar
  4. 4.
    Chaudhri, V.K., Hadzilacos, V.: Safe locking policies for dynamic databases. J. Comput. Syst. Sci. 57(3), 260–271 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Dalessandro, L., Spear, M.F., Scott, M.L.: NOrec: streamlining STM by abolishing ownership records. In: PPOPP, pp. 67–78 (2010)Google Scholar
  6. 6.
    David, T., Guerraoui, R., Trigonakis, V.: Asynchronized concurrency: the secret to scaling concurrent search data structures. In: ASPLOS, pp. 631–644 (2015)Google Scholar
  7. 7.
    Doherty, S., Groves, L., Luchangco, V., Moir, M.: Towards formally specifying and verifying transactional memory. Electron. Notes Theor. Comput. Sci. 259, 245–261 (2009)CrossRefzbMATHGoogle Scholar
  8. 8.
    Felber, P., Fetzer, C., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: PPoPP, pp. 237–246 (2008)Google Scholar
  9. 9.
    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
  10. 10.
    Gramoli, V., Guerraoui, R.: Democratizing transactional programming. Commun. ACM 57(1), 86–93 (2014)CrossRefGoogle Scholar
  11. 11.
    Gramoli, V., Harmanci, D., Felber, P.: On the input acceptance of transactional memory. Parallel Process. Lett. 20(1), 31–50 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Gramoli, V., Kuznetsov, P., Ravi, S.: In the search of optimal concurrency. CoRR, abs/1603.01384 (2016)Google Scholar
  13. 13.
    Gramoli, V., Kuznetsov, P., Ravi, S., Shang, D.: Brief announcement: a concurrency-optimal list-based set. In: 29th International Symposium on Distributed Computing, DISC 2015, Tokyo, Japan, 7–9 October 2015. Technical report
  14. 14.
    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). doi: 10.1007/978-3-540-87779-0_21 CrossRefGoogle Scholar
  15. 15.
    Guerraoui, R., Kapalka, M.: Principles of Transactional Memory: Synthesis Lectures on Distributed Computing Theory. Morgan and Claypool, San Rafael (2010)zbMATHGoogle Scholar
  16. 16.
    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). doi: 10.1007/3-540-45414-4_21 CrossRefGoogle Scholar
  17. 17.
    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). doi: 10.1007/11795490_3 CrossRefGoogle Scholar
  18. 18.
    Herlihy, M.: Apologizing versus asking permission: optimistic concurrency control for abstract data types. ACM Trans. Database Syst. 15(1), 96–124 (1990)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Herlihy, M.: Wait-free synchronization. ACM Trans. Prog. Lang. Syst. 13(1), 123–149 (1991)CrossRefGoogle Scholar
  20. 20.
    Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. In: ISCA, pp. 289–300 (1993)Google Scholar
  21. 21.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, San Francisco (2008)Google Scholar
  22. 22.
    Herlihy, M., Shavit, N.: On the nature of progress. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 313–328. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-25873-2_22 CrossRefGoogle Scholar
  23. 23.
    Herlihy, M., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRefGoogle Scholar
  24. 24.
    Imbs, D., de Mendívil, J.R.G., Raynal, M.: Brief announcement: virtual world consistency: a new condition for STM systems. In: PODC, pp. 280–281 (2009)Google Scholar
  25. 25.
    Kung, H.T., Papadimitriou, C.H.: An optimality theory of concurrency control for databases. In: SIGMOD, pp. 116–126 (1979)Google Scholar
  26. 26.
    Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26, 631–653 (1979)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. Commun. ACM 33(6), 668–676 (1990)MathSciNetCrossRefGoogle Scholar
  28. 28.
    Shavit, N., Touitou, D.: Software transactional memory. In: PODC, pp. 204–213 (1995)Google Scholar
  29. 29.
    Weihl, W.E.: Commutativity-based concurrency control for abstract data types. IEEE Trans. Comput. 37(12), 1488–1505 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Weikum, G.: A theoretical foundation of multi-level concurrency control. In: PODS, pp. 31–43 (1986)Google Scholar
  31. 31.
    Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, San Francisco (2002)Google Scholar
  32. 32.
    Yannakakis, M.: Serializability by locking. J. ACM 31(2), 227–244 (1984)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Vincent Gramoli
    • 1
  • Petr Kuznetsov
    • 2
  • Srivatsan Ravi
    • 3
    Email author
  1. 1.Data61-CSIRO and University of SydneySydneyAustralia
  2. 2.Télécom ParisTechParisFrance
  3. 3.Purdue UniversityWest LafayettUSA

Personalised recommendations