Abstract
A sorted set (or map) is one of the most used data types in computer science. In addition to standard set operations, like Insert, Remove, and Contains, it can provide set-set operations such as Union, Intersection, and Difference. Each of these set-set operations is equivalent to some batched operation: the data structure should be able to execute Insert, Remove, and Contains on a batch of keys. It is obvious that we want these “large” operations to be parallelized. These sets are usually implemented with the trees of logarithmic height, such as 2–3 trees, treaps, AVL trees, red-black trees, etc. Until now, little attention was devoted to parallelizing data structures that work asymptotically better under several restrictions on the stored data. In this work, we parallelize Interpolation Search Tree which is expected to serve requests from a smooth distribution in doubly-logarithmic time. Our data structure of size n performs a batch of m operations in \(O(m \log \log n)\) work and poly-log span.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Acar, U.A., Blelloch, G.E.: Algorithms: Parallel and sequential. https://www.umut-acar.org/algorithms-book 6 (2019)
Akhremtsev, Y., Sanders, P.: Fast parallel operations on search trees. In: 2016 IEEE 23rd International Conference on High Performance Computing (HiPC), pp. 291–300. IEEE (2016)
Aksenov, V., Kokorin, I., Martsenyuk, A.: Parallel-batched interpolation search tree. arXiv preprint (2023). arXiv:2306.13785
Bentley, J.L., Yao, A.C.C.: An almost optimal algorithm for unbounded searching. Inform. Process. Lett. 5(3), 82–87(SLAC-PUB-1679) (1976)
Blelloch, G.E., Ferizovic, D., Sun, Y.: Just join for parallel ordered sets. In: Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures, pp. 253–264 (2016)
Blelloch, G.E., Reid-Miller, M.: Fast set operations using treaps. In: Proceedings of the Tenth Annual ACM Symposium on Parallel Algorithms And Architectures, pp. 16–26 (1998)
Blumofe, R.D., Joerg, C.F., Kuszmaul, B.C., Leiserson, C.E., Randall, K.H., Zhou, Y.: Cilk: an efficient multithreaded runtime system. J. Parallel Distrib. Comput. 37(1), 55–69 (1996)
Brown, T., Prokopec, A., Alistarh, D.: Non-blocking interpolation search trees with doubly-logarithmic running time. In: Proceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 276–291 (2020)
Comer, D.: Ubiquitous b-tree. ACM Comput. Surv. (CSUR) 11(2), 121–137 (1979)
Graefe, G., et al.: Modern b-tree techniques. Foundations and Trends® in Databases 3(4), 203–402 (2011)
Guibas, L.J., Sedgewick, R.: A dichromatic framework for balanced trees. In: 19th Annual Symposium on Foundations of Computer Science (sfcs 1978), pp. 8–21. IEEE (1978)
JáJá, J.: An introduction to parallel algorithms. Reading, MA: Addison-Wesley 10, 133889 (1992)
Kraska, T., Beutel, A., Chi, E.H., Dean, J., Polyzotis, N.: The case for learned index structures. In: Proceedings of the 2018 International Conference on Management of Data, pp. 489–504 (2018)
Lea, D.: A java fork/join framework. In: Proceedings of the ACM 2000 Conference on Java Grande, pp. 36–43 (2000)
Medidi, M., Deo, N.: Parallel dictionaries using AVL trees. J. Parallel Distrib. Comput. 49(1), 146–155 (1998)
Mehlhorn, K., Tsakalidis, A.: Dynamic interpolation search. J. ACM (JACM) 40(3), 621–634 (1993)
Park, H., Park, K.: Parallel algorithms for red-black trees. Theoret. Comput. Sci. 262(1–2), 415–435 (2001)
Paul, W.., Vishkin, U.., Wagener, H..: Parallel dictionaries on 2–3 trees. In: Diaz, Josep (ed.) ICALP 1983. LNCS, vol. 154, pp. 597–609. Springer, Heidelberg (1983). https://doi.org/10.1007/BFb0036940
Peterson, W.W.: Addressing for random-access storage. IBM J. Res. Dev. 1(2), 130–146 (1957)
Prokopec, A., Brown, T., Alistarh, D.: Analysis and evaluation of non-blocking interpolation search trees. arXiv preprint arXiv:2001.00413 (2020)
Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. Commun. ACM 33(6), 668–676 (1990)
Sleator, D.D., Tarjan, R.E.: Self-adjusting binary search trees. J. ACM (JACM) 32(3), 652–686 (1985)
Sun, Y., Ferizovic, D., Belloch, G.E.: Pam: parallel augmented maps. In: Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 290–304 (2018)
Willard, D.E.: Searching unindexed and nonuniformly generated files in \(\backslash \)log\(\backslash \)logn time. SIAM J. Comput. 14(4), 1013–1029 (1985)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Aksenov, V., Kokorin, I., Martsenyuk, A. (2023). Parallel-Batched Interpolation Search Tree. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2023. Lecture Notes in Computer Science, vol 14098. Springer, Cham. https://doi.org/10.1007/978-3-031-41673-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-031-41673-6_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-41672-9
Online ISBN: 978-3-031-41673-6
eBook Packages: Computer ScienceComputer Science (R0)