Many systems rely on optimistic concurrent search trees for multi-core scalability. In principle, optimistic trees have a simple performance story: searches are read-only and so run in parallel, with writes to shared memory occurring only when modifying the data structure. However, this paper shows that in practice, obtaining the full performance benefits of optimistic search trees is not so simple. We focus on optimistic binary search trees (BSTs) and perform a detailed performance analysis of 10 state-of-the-art BSTs on large scale x86-64 hardware, using both microbenchmarks and an in-memory database system. We find and explain significant unexpected performance differences between BSTs with similar tree structure and search implementati...
In this thesis we compared some variants of binary search trees that approach dynamic optimality: Ta...
Abstract. We present a general transformation for combining a con-stant number of binary search tree...
File systems that allocate data contiguously often use bitmaps to represent and manage free space. I...
Concurrent search trees are crucial data abstractions widely used in many important systems such as ...
This paper presents a deeply pipelined and massively parallel Binary Search Tree (BST) accelerator f...
A commonly used type of search tree is the alphabetic binary tree, which uses (without loss of gener...
Binary search trees used as a data structure for rapid access to stored data. Arrays, vectors and li...
International audienceIn this paper, the authors highlight the existence of close relations between ...
Abstract. This paper proposes a new lock-based concurrent binary tree using a methodology for writin...
This paper presents novel tree-based search algorithms that exploit the SIMD instructions found in v...
Relaxed balancing has become a commonly used concept in the design of concurrent search tree algorit...
We engineer a GPU implementation of a B-Tree that supports concurrent queries (point, range, and suc...
Balanced binary search trees are widely used main memory index structures. They provide for logarith...
A recent trend in program methodologies is to derive efficient parallel programs from sequential pr...
International audienceBlackbox optimization refers to the situation where no analytical knowledge ab...
In this thesis we compared some variants of binary search trees that approach dynamic optimality: Ta...
Abstract. We present a general transformation for combining a con-stant number of binary search tree...
File systems that allocate data contiguously often use bitmaps to represent and manage free space. I...
Concurrent search trees are crucial data abstractions widely used in many important systems such as ...
This paper presents a deeply pipelined and massively parallel Binary Search Tree (BST) accelerator f...
A commonly used type of search tree is the alphabetic binary tree, which uses (without loss of gener...
Binary search trees used as a data structure for rapid access to stored data. Arrays, vectors and li...
International audienceIn this paper, the authors highlight the existence of close relations between ...
Abstract. This paper proposes a new lock-based concurrent binary tree using a methodology for writin...
This paper presents novel tree-based search algorithms that exploit the SIMD instructions found in v...
Relaxed balancing has become a commonly used concept in the design of concurrent search tree algorit...
We engineer a GPU implementation of a B-Tree that supports concurrent queries (point, range, and suc...
Balanced binary search trees are widely used main memory index structures. They provide for logarith...
A recent trend in program methodologies is to derive efficient parallel programs from sequential pr...
International audienceBlackbox optimization refers to the situation where no analytical knowledge ab...
In this thesis we compared some variants of binary search trees that approach dynamic optimality: Ta...
Abstract. We present a general transformation for combining a con-stant number of binary search tree...
File systems that allocate data contiguously often use bitmaps to represent and manage free space. I...