Engineering a High-Performance GPU B-Tree

被引:31
|
作者
Awad, Muhammad A. [1 ]
Ashkiani, Saman [1 ]
Johnson, Rob [2 ]
Farach-Colton, Martin [3 ]
Owens, John D. [1 ]
机构
[1] Univ Calif Davis, Davis, CA 95616 USA
[2] VMWare Res, Palo Alto, CA USA
[3] Rutgers State Univ, New Brunswick, NJ USA
基金
美国国家科学基金会;
关键词
b-tree; dynamic; mutable; data structures; GPU; CONCURRENT OPERATIONS; R-TREES;
D O I
10.1145/3293883.3295706
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We engineer a GPU implementation of a B-Tree that supports concurrent queries (point, range, and successor) and updates (insertions and deletions). Our B-tree outperforms the state of the art, a GPU log-structured merge tree (LSM) and a GPU sorted array. In particular, point and range queries are significantly faster than in a GPU LSM (the GPU LSM does not implement successor queries). Furthermore, B-Tree insertions are also faster than LSM and sorted array insertions unless insertions come in batches of more than roughly 100k. Because we cache the upper levels of the tree, we achieve lookup throughput that exceeds the DRAM bandwidth of the GPU. We demonstrate that the key limiter of performance on a GPU is contention and describe the design choices that allow us to achieve this high performance.
引用
收藏
页码:145 / 157
页数:13
相关论文
共 50 条
  • [21] MODELING B-TREE INSERTION ACTIVITY
    DRISCOLL, JR
    LANG, SD
    FRANKLIN, LA
    INFORMATION PROCESSING LETTERS, 1987, 26 (01) : 5 - 18
  • [22] ROBUST B-TREE IMPLEMENTATION.
    Black, J.P.
    Taylor, D.J.
    Morgan, D.E.
    Proceedings - International Conference on Software Engineering, 1981, : 63 - 70
  • [23] B-Tree helps UPS deliver
    不详
    COMPUTER DESIGN, 1997, 36 (02): : 87 - 87
  • [24] A Survey of B-Tree Locking Techniques
    Graefe, Goetz
    ACM TRANSACTIONS ON DATABASE SYSTEMS, 2010, 35 (03):
  • [25] A Practical Scalable Distributed B-Tree
    Aguilera, Marcos K.
    Golab, Wojciech
    Shah, Mehul A.
    PROCEEDINGS OF THE VLDB ENDOWMENT, 2008, 1 (01): : 598 - 609
  • [26] Performance analysis of a fault-tolerant B-tree ATM switch
    Plate, C
    Tan, J
    21ST IEEE CONFERENCE ON LOCAL COMPUTER NETWORKS, PROCEEDINGS, 1996, : 295 - 304
  • [27] BTRFS: The Linux B-Tree Filesystem
    Rodeh, Ohad
    Bacik, Josef
    Mason, Chris
    ACM TRANSACTIONS ON STORAGE, 2013, 9 (03)
  • [28] Bloom Filters Based on the B-tree
    Sato, Fumiaki
    Wakabayashi, Shigetoshi
    CISIS: 2009 INTERNATIONAL CONFERENCE ON COMPLEX, INTELLIGENT AND SOFTWARE INTENSIVE SYSTEMS, VOLS 1 AND 2, 2009, : 500 - 505
  • [29] More Modern B-Tree Techniques
    Graefe, Goetz
    FOUNDATIONS AND TRENDS IN DATABASES, 2023, 13 (03): : 169 - 249
  • [30] B-tree indexes and CPU caches
    Graefe, G
    Larson, PÅ
    17TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, PROCEEDINGS, 2001, : 349 - 358