Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

An eight-dimensional systematic evaluation of optimized search algorithms on modern processors

Published: 01 July 2018 Publication History

Abstract

Searching in sorted arrays of keys is a common task with a broad range of applications. Often searching is part of the performance critical sections of a database query or index access, raising the question what kind of search algorithm to choose and how to optimize it to obtain the best possible performance on real-world hardware. This paper strives to answer this question by evaluating a large set of optimized sequential, binary and k-ary search algorithms on a modern processor. In this context, we consider hardware-sensitive optimization strategies as well as algorithmic variations resulting in an eight-dimensional evaluation space.
As a result, we give insights on expected interactions between search algorithms and optimizations on modern hardware. In fact, there is no single best optimized algorithm, leading to a set of advices on which variants should be considered first given a particular array size.

References

[1]
Intel 64 and IA-32 Architectures Optimization Reference Manual, Nov. 2016.
[2]
Intel 64 and IA-32 Architectures Software Developer's Manual, Dec. 2016.
[3]
D. Broneske, V. Köppen, G. Saake, and M. Schäler. Accelerating multi-column selection predicates in main-memory - the Elf approach. In International Conference on Data Engineering (ICDE), pages 647--658. IEEE, 2017.
[4]
D. Broneske and G. Saake. Exploiting capabilities of modern processors in data intensive applications. it -Information Technology, 59(3):133--140, 2017.
[5]
G. Graefe and P.-A. Larson. B-tree indexes and CPU caches. In Proceedings of the International Conference on Data Engineering (ICDE), pages 349--358. IEEE, 2001.
[6]
J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, fifth edition, 2011.
[7]
D. Knuth. The Art of Computer Programming, Volume III: Sorting and Searching. Addison-Wesley, second edition, 1998.
[8]
T. Kraska, A. Beutel, E. H. Chi, J. Dean, and N. Polyzotis. The case for learned index structures. In Proceedings of the International Conference on Management of Data (SIGMOD), pages 489--504, 2018.
[9]
V. Leis, A. Kemper, and T. Neumann. The adaptive radix tree: Artful indexing for main-memory databases. In Proceedings of the International Conference on Data Engineering (ICDE), pages 38--49. IEEE, 2013.
[10]
R. Lesuisse. Some lessons drawn from the history of the binary search algorithm. The Computer Journal, 26(2):154--163, 1983.
[11]
J. Rao and K. A. Ross. Making b+-trees cache conscious in main memory. In ACM SIGMOD Record, volume 29, pages 475--486. ACM, 2000.
[12]
B. Schlegel, R. Gemulla, and W. Lehner. k-ary search on modern processors. In Proceedings of the International Workshop on Data Management on New Hardware (DAMON), pages 52--60. ACM, 2009.
[13]
L.-C. Schulz. Searching in sorted lists on modern processors. Bachelor's thesis, University of Magdeburg, 2017. Available online at http://wwwiti.cs.uni-magdeburg.de/iti_db/publikationen/ps/auto/thesisSchulz17.pdf.
[14]
S. Zeuch, F. Huber, and J.-C. Freytag. Adapting tree structures for processing with SIMD instructions. In Proceedings of the International Conference on Extending Database Technology (EDBT). OpenProceedings.org, 2014.
[15]
J. Zhou and K. A. Ross. Implementing database operations using SIMD instructions. In Proceedings of the International Conference on Management of Data (SIGMOD), pages 145--156. ACM, 2002.

Cited By

View all
  • (2023)Towards Data-Based Cache Optimization of B+-TreesProceedings of the 19th International Workshop on Data Management on New Hardware10.1145/3592980.3595316(63-69)Online publication date: 18-Jun-2023
  • (2023)Neural networks as building blocks for the design of efficient learned indexesNeural Computing and Applications10.1007/s00521-023-08841-135:29(21399-21414)Online publication date: 21-Jul-2023
  • (2021)Learned Sorted Table Search and Static Indexes in Small Model SpaceAIxIA 2021 – Advances in Artificial Intelligence10.1007/978-3-031-08421-8_32(462-477)Online publication date: 1-Dec-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Proceedings of the VLDB Endowment
Proceedings of the VLDB Endowment  Volume 11, Issue 11
July 2018
507 pages
ISSN:2150-8097
Issue’s Table of Contents

Publisher

VLDB Endowment

Publication History

Published: 01 July 2018
Published in PVLDB Volume 11, Issue 11

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Towards Data-Based Cache Optimization of B+-TreesProceedings of the 19th International Workshop on Data Management on New Hardware10.1145/3592980.3595316(63-69)Online publication date: 18-Jun-2023
  • (2023)Neural networks as building blocks for the design of efficient learned indexesNeural Computing and Applications10.1007/s00521-023-08841-135:29(21399-21414)Online publication date: 21-Jul-2023
  • (2021)Learned Sorted Table Search and Static Indexes in Small Model SpaceAIxIA 2021 – Advances in Artificial Intelligence10.1007/978-3-031-08421-8_32(462-477)Online publication date: 1-Dec-2021
  • (2020)Benchmarking learned indexesProceedings of the VLDB Endowment10.14778/3421424.342142514:1(1-13)Online publication date: 27-Oct-2020

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media