Abstract
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.
This work has been supported in part by the European ERC Grant 339539 - AOC.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Locations containing pointers could be differentiated from other locations if they contain a pointer type. This could be easily done by for example marking the last bit of the value residing in such a location.
- 2.
For randomized data structures, such as skip lists [18], we assume that the underlying random number generator produces the exact same sequences of numbers for both \(Prog_S\) and \(Prog_C\).
References
Antoniadis, K., Guerraoui, R., Stainer, J., Trigonakis, V.: Sequential proximity: towards provably scalable concurrent search algorithms. Technical report, EPFL (2017)
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)
Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A Practical Concurrent Binary Search Tree. In: PPopp (2010)
David, T., Guerraoui, R., Trigonakis, V., Concurrency, A.: The secret to scaling concurrent search data structures. In: ASPLOS (2015)
Ellen, F., Fatourou, P., Ruppert, E., van Breugel, F.: Non-blocking binary search trees. In: PODC (2010)
Facebook: RocksDB. http://rocksdb.org
Fraser, K.: Practical lock-freedom. Ph.D. thesis, University of Cambridge (2004)
Guerraoui, R., Trigonakis, V.: Optimistic concurrency with OPTIK. In: PPopp (2016)
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
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
Herlihy, M.: Wait-free synchronization. In: TOPLAS (1991)
Herlihy, M., Wing, J.: Linearizability: a correctness condition for concurrent objects. In: TOPLAS (1990)
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
Howley, S.V., Jones, J.: A non-blocking internal binary search tree. In: SPAA (2012)
Linux Kernel: Linux Kernel. https://www.kernel.org
Matveev, A., Shavit, N., Felber, P., Marlier, P.: Read-log-update: a lightweight synchronization mechanism for concurrent programming. In: SOSP (2015)
McKenney, P.E., Slingwine, J.D.: Read-copy update: using execution history to solve concurrency problems. In: PDCS (1998)
Pugh, W., Lists, S.: A probabilistic alternative to balanced trees. In: CACM (1990)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Antoniadis, K., Guerraoui, R., Stainer, J., Trigonakis, V. (2017). Sequential Proximity. In: El Abbadi, A., Garbinato, B. (eds) Networked Systems. NETYS 2017. Lecture Notes in Computer Science(), vol 10299. Springer, Cham. https://doi.org/10.1007/978-3-319-59647-1_30
Download citation
DOI: https://doi.org/10.1007/978-3-319-59647-1_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-59646-4
Online ISBN: 978-3-319-59647-1
eBook Packages: Computer ScienceComputer Science (R0)