Sequential Proximity

Towards Provably Scalable Concurrent Search Algorithms
  • Karolos AntoniadisEmail author
  • Rachid Guerraoui
  • Julien Stainer
  • Vasileios Trigonakis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10299)


Establishing the scalability of a concurrent algorithm a priori, before implementing and evaluating it on a concrete multi-core platform, seems difficult, if not impossible. In the context of search data structures however, according to all practical work of the past decade, algorithms that scale share a common characteristic: They all resemble standard sequential implementations for their respective data structure type and strive to minimize the number of synchronization operations.

In this paper, we present sequential proximity, a theoretical framework to determine whether a concurrent search algorithm is close to its sequential counterpart. With sequential proximity we take the first step towards a theory of scalability for concurrent search algorithms.


  1. 1.
    Antoniadis, K., Guerraoui, R., Stainer, J., Trigonakis, V.: Sequential proximity: towards provably scalable concurrent search algorithms. Technical report, EPFL (2017)Google Scholar
  2. 2.
    Attiya, H., Guerraoui, R., Hendler, D., Kuznetsov, P. Michael, M.M., Vechev, M.T.: Laws of order: expensive synchronization in concurrent algorithms cannot be eliminated. In: POPL (2011)Google Scholar
  3. 3.
    Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A Practical Concurrent Binary Search Tree. In: PPopp (2010)Google Scholar
  4. 4.
    David, T., Guerraoui, R., Trigonakis, V., Concurrency, A.: The secret to scaling concurrent search data structures. In: ASPLOS (2015)Google Scholar
  5. 5.
    Ellen, F., Fatourou, P., Ruppert, E., van Breugel, F.: Non-blocking binary search trees. In: PODC (2010)Google Scholar
  6. 6.
    Facebook: RocksDB.
  7. 7.
    Fraser, K.: Practical lock-freedom. Ph.D. thesis, University of Cambridge (2004)Google Scholar
  8. 8.
    Guerraoui, R., Trigonakis, V.: Optimistic concurrency with OPTIK. In: PPopp (2016)Google Scholar
  9. 9.
    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
  10. 10.
    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
  11. 11.
    Herlihy, M.: Wait-free synchronization. In: TOPLAS (1991)Google Scholar
  12. 12.
    Herlihy, M., Wing, J.: Linearizability: a correctness condition for concurrent objects. In: TOPLAS (1990)Google Scholar
  13. 13.
    Herlihy, M., Lev, Y., Luchangco, V., Shavit, N.: A simple optimistic skiplist algorithm. In: Prencipe, G., Zaks, S. (eds.) SIROCCO 2007. LNCS, vol. 4474, pp. 124–138. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-72951-8_11 CrossRefGoogle Scholar
  14. 14.
    Howley, S.V., Jones, J.: A non-blocking internal binary search tree. In: SPAA (2012)Google Scholar
  15. 15.
    Linux Kernel: Linux Kernel.
  16. 16.
    Matveev, A., Shavit, N., Felber, P., Marlier, P.: Read-log-update: a lightweight synchronization mechanism for concurrent programming. In: SOSP (2015)Google Scholar
  17. 17.
    McKenney, P.E., Slingwine, J.D.: Read-copy update: using execution history to solve concurrency problems. In: PDCS (1998)Google Scholar
  18. 18.
    Pugh, W., Lists, S.: A probabilistic alternative to balanced trees. In: CACM (1990)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Karolos Antoniadis
    • 1
    Email author
  • Rachid Guerraoui
    • 1
  • Julien Stainer
    • 1
  • Vasileios Trigonakis
    • 1
  1. 1.École Polytechnique Fédérale de LausanneLausanneSwitzerland

Personalised recommendations