English
Related papers

Related papers: Cache-Friendly Search Trees; or, In Which Everythi…

200 papers

We consider the dictionary problem in external memory and improve the update time of the well-known buffer tree by roughly a logarithmic factor. For any \lambda >= max {lg lg n, log_{M/B} (n/B)}, we can support updates in time O(\lambda /…

Data Structures and Algorithms · Computer Science 2011-04-15 John Iacono , Mihai Pǎtraşcu

A classic versioned data structure in storage and computer science is the copy-on-write (CoW) B-tree -- it underlies many of today's file systems and databases, including WAFL, ZFS, Btrfs and more. Unfortunately, it doesn't inherit the…

Data Structures and Algorithms · Computer Science 2015-03-19 Andy Twigg , Andrew Byde , Grzegorz Milos , Tim Moreton , John Wilkes , Tom Wilkie

Over the years, many different indexing techniques and search algorithms have been proposed, including CSS-trees, CSB+ trees, k-ary binary search, and fast architecture sensitive tree search. There have also been papers on how best to set…

Databases · Computer Science 2017-06-22 Florian Gross

Skiplists have become prevalent in systems. The main advantages of skiplists are their simplicity and ease of implementation, and the ability to support operations in the same asymptotic complexities as their tree-based counterparts. In…

Databases · Computer Science 2025-05-22 Lu Xing , Venkata Sai Pavan Kumar Vadrevu , Walid G. Aref

Emerging non-volatile main memory (NVRAM) technologies provide byte-addressability, low idle power, and improved memory-density, and are likely to be a key component in the future memory hierarchy. However, a critical challenge in achieving…

Data Structures and Algorithms · Computer Science 2019-08-22 Guy E. Blleloch , Yan Gu

The decision tree is one of the most popular and classical machine learning models from the 1980s. However, in many practical applications, decision trees tend to generate decision paths with excessive depth. Long decision paths often cause…

Machine Learning · Computer Science 2022-11-30 Jialu Zhang , Yitan Wang , Mark Santolucito , Ruzica Piskac

Oblivious routing is a well-studied paradigm that uses static precomputed routing tables for selecting routing paths within a network. Existing oblivious routing schemes with polylogarithmic competitive ratio for general networks are…

Data Structures and Algorithms · Computer Science 2023-12-14 Gramoz Goranci , Monika Henzinger , Harald Räcke , Sushant Sachdeva , A. R. Sricharan

In this paper we present randomized algorithms for sorting and convex hull that achieves optimal performance (for speed-up and cache misses) on the multicore model with private cache model. Our algorithms are cache oblivious and generalize…

Data Structures and Algorithms · Computer Science 2012-05-29 Neeraj Sharma , Sandeep Sen

Graphs are extremely versatile and ubiquitous mathematical structures with potential to model a wide range of domains. For this reason, graph problems have been of interest since the early days of computer science. Some of these problems…

Data Structures and Algorithms · Computer Science 2013-09-02 Rui Ferreira

Ordered set (and map) is one of the most used data type. In addition to standard set operations, like insert, delete and contains, it can provide set-set operations such as union, intersection, and difference. Each of these set-set…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-10-13 Vitaly Aksenov , Ilya Kokorin , Alena Martsenyuk

Self-adjusting data structures are a classic approach to adapting the complexity of operations to the data access distribution. While several self-adjusting variants are known for both binary search trees and B-Trees, existing constructions…

Data Structures and Algorithms · Computer Science 2023-10-10 Alexander Slastin , Dan Alistarh , Vitaly Aksenov

Balanced search trees are widely used in computer science to efficiently maintain dynamic ordered data. To support efficient set operations (e.g., union, intersection, difference) using trees, the join-based framework is widely studied.…

Data Structures and Algorithms · Computer Science 2025-10-24 Michael Goodrich , Yan Gu , Ryuto Kitagawa , Yihan Sun

Storage systems have a strong need for substantially improving their error correction capabilities, especially for long-term storage where the accumulating errors can exceed the decoding threshold of error-correcting codes (ECCs). In this…

Information Theory · Computer Science 2018-11-12 Pulakesh Upadhyaya , Anxiao , Jiang

We introduce K-tree in an information retrieval context. It is an efficient approximation of the k-means clustering algorithm. Unlike k-means it forms a hierarchy of clusters. It has been extended to address issues with sparse…

Information Retrieval · Computer Science 2010-01-07 Christopher M. De Vries , Shlomo Geva

Suffix trees have emerged to be very fast for pattern searching yielding O (m) time, where m is the pattern size. Unfortunately their high memory requirements make it impractical to work with huge amounts of data. We present a memory…

Data Structures and Algorithms · Computer Science 2017-03-08 Freeson Kaniwa , Venu Madhav Kuthadi , Otlhapile Dinakenyane , Heiko Schroeder

Algorithms for efficiently finding optimal alphabetic decision trees -- such as the Hu-Tucker algorithm -- are well established and commonly used. However, such algorithms generally assume that the cost per decision is uniform and thus…

Performance · Computer Science 2007-05-23 Michael B. Baer

Non-blocking search data structures offer scalability with a progress guarantee on high-performance multi-core architectures. In the recent past, "learned queries" have gained remarkable attention. It refers to predicting the rank of a key…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-08-23 Gaurav Bhardwaj , Bapi Chatterjee , Abhinav Sharma , Sathya Peri , Siddharth Nayak

We present the Cuckoo Trie, a fast, memory-efficient ordered index structure. The Cuckoo Trie is designed to have memory-level parallelism -- which a modern out-of-order processor can exploit to execute DRAM accesses in parallel -- without…

Data Structures and Algorithms · Computer Science 2022-01-25 Adar Zeitak , Adam Morrison

Machine learning has an emerging critical role in high-performance computing to modulate simulations, extract knowledge from massive data, and replace numerical models with efficient approximations. Decision forests are a critical tool…

Performance · Computer Science 2018-06-22 James Browne , Tyler M. Tomita , Disa Mhembere , Randal Burns , Joshua T. Vogelstein

Ctrie is a scalable concurrent non-blocking dictionary data structure, with good cache locality, and non-blocking linearizable iterators. However, operations on most existing concurrent hash tries run in O(log n) time. In this technical…

Data Structures and Algorithms · Computer Science 2017-12-29 Aleksandar Prokopec