Improving High-Performance GPU Graph Traversal with Compression

  • Krzysztof Kaczmarski
  • Piotr Przymus
  • Paweł Rzążewski
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 312)

Abstract

Traversing huge graphs is a crucial part of many real-world problems, including graph databases. We show how to apply Fixed Length lightweight compression method for traversing graphs stored in the GPU global memory. This approach allows for a significant saving of memory space, improves data alignment, cache utilization and, in many cases, also processing speed. We tested our solution against the state-of-the-art implementation of BFS for GPU and obtained very promising results.

Keywords

graph searching BFS graph compression data-intensive computation GPU CUDA graph databases 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Andrzejewski, W., Wrembel, R.: GPU-WAH: Applying gPUs to compressing bitmap indexes with word aligned hybrid. In: Bringas, P.G., Hameurlain, A., Quirchmayr, G. (eds.) DEXA 2010, Part II. LNCS, vol. 6262, pp. 315–329. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  2. 2.
    Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: A recursive model for graph mining. In: SDM, pp. 442–446 (2004)Google Scholar
  3. 3.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. MIT Press (2009)Google Scholar
  4. 4.
    Delbru, R., Campinas, S., Samp, K., Tummarello, G.: Adaptive frame of reference for compressing inverted lists. Technical report, DERI – Digital Enterprise Research Institute (December 2010)Google Scholar
  5. 5.
    Deng, Y.S., Wang, B.D., Mu, S.: Taming irregular EDA applications on GPUs. In: Proceedings of the 2009 International Conference on Computer-Aided Design, ICCAD 2009, pp. 539–546. ACM, New York (2009)CrossRefGoogle Scholar
  6. 6.
    Fang, W., He, B., Luo, Q.: Database compression on graphics processors. Proceedings of the VLDB Endowment 3(1-2), 670–680 (2010)CrossRefGoogle Scholar
  7. 7.
    Harish, P., Narayanan, P.J.: Accelerating large graph algorithms on the GPU using CUDA. In: Aluru, S., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2007. LNCS, vol. 4873, pp. 197–208. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  8. 8.
    Hong, S., Kim, S.K., Oguntebi, T., Olukotun, K.: Accelerating CUDA graph algorithms at maximum warp. In: Cascaval, C., Yew, P.-C. (eds.) PPOPP, pp. 267–276. ACM (2011)Google Scholar
  9. 9.
    Luo, L., Wong, M.D.F., Mei, W., Hwu, W.: An effective GPU implementation of breadthfirst search. In: Sapatnekar, S.S. (ed.) DAC, pp. 52–55. ACM (2010)Google Scholar
  10. 10.
    Merrill, D.: Back40computing (2013), https://code.google.com/p/back40computing/
  11. 11.
    Merrill, D., Garland, M., Grimshaw, A.S.: Scalable gpu graph traversal. In: Ramanujam, J., Sadayappan, P. (eds.) PPOPP, pp. 117–128. ACM (2012)Google Scholar
  12. 12.
    NVIDIA Corporation. NVIDIA CUDA C programming guide 5.5 (2013)Google Scholar
  13. 13.
    NVIDIA Corporation. CUDA C Toolkit v.5.5 (2014)Google Scholar
  14. 14.
    Przymus, P., Kaczmarski, K.: Improving efficiency of data intensive applications on GPU using lightweight compression. In: Herrero, P., Panetto, H., Meersman, R., Dillon, T. (eds.) OTM 2012 Workshops. LNCS, vol. 7567, pp. 3–12. Springer, Heidelberg (2012)Google Scholar
  15. 15.
    Przymus, P., Kaczmarski, K.: Dynamic compression strategy for time series database using GPU. In: Catania, B., et al. (eds.) New Trends in Databases and Information Systems. AISC, vol. 241, pp. 235–244. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  16. 16.
    Przymus, P., Kaczmarski, K.: Dynamic compression strategy for time series database using GPU. In: Catania, B., et al. (eds.) New Trends in Databases and Information Systems. AISC, vol. 241, pp. 235–244. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  17. 17.
    Przymus, P., Kaczmarski, K.: Time series queries processing with GPU support. In: Catania, B., et al. (eds.) New Trends in Databases and Information Systems. AISC, vol. 241, pp. 53–60. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  18. 18.
    Salomon, D.: Data Compression: The Complete Reference. Springer (1998)Google Scholar
  19. 19.
    Ugander, J., Karrer, B., Backstrom, L., Marlow, C.: The anatomy of the Facebook social graph. CoRR, abs/1111.4503 (2011)Google Scholar
  20. 20.
    Wu, L., Storus, M., Cross, D.: CS315A: Final project CUDA WUDA SHUDA: CUDA compression project (2009)Google Scholar
  21. 21.
    Yan, H., Ding, S., Suel, T.: Inverted index compression and query processing with optimized document ordering. In: Proc. of the 18th Intern. Conf. on World Wide Web, pp. 401–410. ACM (2009)Google Scholar
  22. 22.
    Zukowski, M., Heman, S., Nes, N., Boncz, P.: Super-scalar RAM-CPU cache compression. In: Proc. of the 22nd Intern. Conf. on Data Engineering, ICDE 2006, pp. 59–59. IEEE (2006)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Krzysztof Kaczmarski
    • 1
  • Piotr Przymus
    • 2
  • Paweł Rzążewski
    • 1
  1. 1.Warsaw University of TechnologyWarszawaPoland
  2. 2.Nicolaus Copernicus UniversityToruńPoland

Personalised recommendations