GPU LSM: A Dynamic Dictionary Data Structure for the GPU
University of California, Davis
arXiv:1707.05354 [cs.DC], (17 Jul 2017)
@article{ashkiani2017dynamic,
title={GPU LSM: A Dynamic Dictionary Data Structure for the GPU},
author={Ashkiani, Saman and Li, Shengren and Farach-Colton, Martin and Amenta, Nina and Owens, John D.},
year={2017},
month={jul},
archivePrefix={"arXiv"},
primaryClass={cs.DC}
}
We develop and implement a concurrent dictionary data structure based on the Log Structured Merge tree (LSM), suitable for current massively parallel GPU architectures. Our GPU LSM is dynamic (mutable) in that it provides fast updates (insertions and deletions). For example, on an NVIDIA K40c GPU we can get an average update rate of 225 M elements/s (13.5x faster than merging with a sorted array). GPU LSM also supports lookup, count, and range query operations with an average rate of 75 M, 32 M and 23 M queries/s respectively. For lookups, we are 7.5x (and 1.75x) slower than a hash table (and a sorted array). However, none of these other data structures are considered mutable, and hash tables cannot even support count and range queries. We believe that our GPU LSM is the first dynamic general-purpose GPU data structure.
July 19, 2017 by hgpu