Skip to main content

B + -Tree Optimized for GPGPU

  • Conference paper
On the Move to Meaningful Internet Systems: OTM 2012 (OTM 2012)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 7566))

Abstract

GPGPU programming requires adjusting existing algorithms and often inventing new ones in order to achieve maximum performance. Solutions already created for supercomputers in nineties are not applicable since SIMD GPU devices are in many aspects different than vector supercomputers. This paper presents a new implementation of B + -tree index for GPU processors. It may be used in cases when processing parallelism and order of elements are equally important in computation. The solution is based on data representation optimal for GPU processing and an efficient parallel tree creation algorithm. We also deeply compare GPU B + -tree and other solutions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. NVIDIA Corporation, NVIDIA CUDA C programming guide version 4.0 (2011)

    Google Scholar 

  2. NVIDIA Corporation, CUDA C best practices guide (2011)

    Google Scholar 

  3. Kaczmarski, K.: Experimental b+-tree for gpu. In: ADBIS 2011, vol. (2), pp. 232–241 (2011)

    Google Scholar 

  4. Bingmann, T.: STX B+ Tree C++ Template Classes v 0.8.3 (2008), idlebox.net/2007/stx-btree

  5. Hoberock, J., Bell, N.: Thrust CUDA Library v.1.3.0 (2011), code.google.com/p/thrust

  6. Fix, J., Wilkes, A., Skadron, K.: Accelerating braided b+ tree searches on a gpu with cuda. In: Proceedings of the 2nd Workshop on Applications for Multi and Many Core Processors: Analysis, Implementation, and Performance, A4MMC (2011)

    Google Scholar 

  7. Kim, S.-W., Won, H.-S.: Batch-construction of b+-trees. In: Proc. of the 2001 ACM Symposium on Applied Computing, SAC 2001. ACM, USA (2001)

    Google Scholar 

  8. Kim, C., Chhugani, J., Satish, N., Sedlar, E., Nguyen, A.D., Kaldewey, T., Lee, V.W., Brandt, S.A., Dubey, P.: FAST: fast architecture sensitive tree search on modern cpus and gpus. In: Proc. of the 2010 Int. Conf. on Management of Data, SIGMOD 2010, pp. 339–350. ACM, New York (2010)

    Google Scholar 

  9. Rao, J., Ross, K.A.: Cache conscious indexing for decision-support in main memory. In: Proc. of the 25th Int. Conf. on Very Large Data Bases, VLDB 1999, San Francisco, CA, USA, pp. 78–89. Morgan Kaufmann Publishers Inc. (1999)

    Google Scholar 

  10. Rao, J., Ross, K.: Making b+-trees cache conscious in main memory. ACM SIGMOD Record (January 2000)

    Google Scholar 

  11. Cederman, D., Tsigas, P.: Gpu-quicksort: A practical quicksort algorithm for graphics processors. ACM Journal of Experimental Algorithmics 14 (2009)

    Google Scholar 

  12. Harris, M., Owens, J.D., Sengupta, S.: CUDA Data Parallel Primitives Library (2008), code.google.com/p/cudpp

  13. Knuth, D.E.: The Art of Computer Programming, Vol. III: Sorting and Searching. Addison-Wesley (1973)

    Google Scholar 

  14. Comer, D.: The ubiquitous b-tree. ACM Comput. Surv. 11(2) (1979)

    Google Scholar 

  15. Bayer, R., McCreight, E.M.: Organization and maintenance of large ordered indices. Acta Inf. 1, 173–189 (1972)

    Article  Google Scholar 

  16. NVIDIA Corporation, CUDA C Toolkit and SDK v.3.2 (January 2011), developer.nvidia.com/object/cuda_3_2_downloads.html

  17. Zhang, J., You, S., Gruenwald, L.: Indexing large-scale raster geospatial data using massively parallel gpgpu computing. In: Proc. of the 18th SIGSPATIAL Int. Conf. on Adv. in Geographic Inform. Systems, GIS 2010. ACM, USA (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kaczmarski, K. (2012). B + -Tree Optimized for GPGPU. In: Meersman, R., et al. On the Move to Meaningful Internet Systems: OTM 2012. OTM 2012. Lecture Notes in Computer Science, vol 7566. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33615-7_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33615-7_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33614-0

  • Online ISBN: 978-3-642-33615-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics