Parallel processing of spatial batch-queries using \({\text {xBR}}^+\)-trees in solid-state drives

Abstract

Efficient query processing in spatial databases is of vital importance for numerous modern applications. In most cases, such processing is accomplished by taking advantage of spatial indexes. The \(\text {xBR}^+\)-tree is an index for point data which has been shown to outperform indexes belonging to the R-tree family. On the other hand, Solid-State Drives (SSDs) are secondary storage devices that exhibit higher (especially read) performance than Hard Disk Drives and nowadays are being used in database systems. Regarding query processing, the higher performance of SSDs is maximized when large sequences of queries (batch queries) are executed by exploiting the massive I/O advantages of SSDs. Moreover, nowadays each CPU contains multiple cores which can be utilized to perform calculations in parallel and further improve performance of query processing. In this paper, we present algorithms for processing common spatial (point-location, window and distance-range) batch queries using \(\text {xBR}^+\)-trees in SSDs. Next, we transform these algorithms to additionally take advantage of the multiple CPU cores. Moreover, utilizing small and large datasets, we experimentally study the performance of these new, SSD based, algorithms against processing of batch queries by repeatedly applying existing algorithms for these queries. We further study the performance of the algorithms that utilize parallelism against the ones taking advantage of SSDs only. Our experiments show that the new algorithms taking advantage of SSDs and even further the ones that also utilize multiple cores prevail performance-wise. Nevertheless, we discuss how these new parallel algorithms can be extended to work in a distributed environment, taking advantage of parallelism between machines, while processing data of larger scales.

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

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

References

  1. 1.

    Carniel, A.C., Ciferri, R.R., de Aguiar C., Cristina D.: A generic and efficient framework for spatial indexing on flash-based solid state drives. In: ADBIS Conference, pp. 229–243 (2017)

  2. 2.

    Cho, S., Chang, S., Jo, I.: The solid-state drive technology, today and tomorrow. In: ICDE Conference, pp. 1520–1522 (2015)

  3. 3.

    Cornwell, M.: Anatomy of a solid-state drive. Commun. ACM 55(12), 59–63 (2012)

    Article  Google Scholar 

  4. 4.

    Fevgas, A., Bozanis, P.: Grid-file: towards to a flash efficient multi-dimensional index. In: DEXA Conference, pp. 285–294 (2015)

  5. 5.

    Gaede, V., Günther, O.: Multidimensional access methods. ACM Comput. Surv. 30(2), 170–231 (1998)

    Article  Google Scholar 

  6. 6.

    García-García, F., Corral, A., Iribarne, L., Vassilakopoulos, M.: Voronoi-diagram based partitioning for distance join query processing in spatialhadoop. In: Proceedings of the 8th International Conference on MEDI 2018 Model and Data Engineering, 24–26 October 2018, Marrakesh, Morocco. pp. 251–267 (2018)

  7. 7.

    García-García, F., Corral, A., Iribarne, L., Vassilakopoulos, M., Manolopoulos, Y.: Efficient large-scale distance-based join queries in spatialhadoop. GeoInformatica 22(2), 171–209 (2018)

    Article  Google Scholar 

  8. 8.

    Hady, F.T., Foong, A.P., Veal, B., Williams, D.: Platform storage performance with 3d XPoint technology. Proc. IEEE 105(9), 1822–1833 (2017)

    Article  Google Scholar 

  9. 9.

    Jin, P., Xie, X., Wang, N., Yue, L.: Optimizing R-tree for flash memory. Expert Syst. Appl. 42(10), 4676–4686 (2015)

    Article  Google Scholar 

  10. 10.

    Li, G., Zhao, P., Yuan, L., Gao, S.: Efficient implementation of a multi-dimensional index structure over flash memory storage systems. J. Supercomput. 64(3), 1055–1074 (2013)

    Article  Google Scholar 

  11. 11.

    Lin, S., Zeinalipour-Yazti, D., Kalogeraki, V., Gunopulos, D., Najjar, W.A.: Efficient indexing data structures for flash-based sensor devices. TOS 2(4), 468–503 (2006)

    Article  Google Scholar 

  12. 12.

    Lv, Y., Li, J., Cui, B., Chen, X.: Log-compact R-tree: An efficient spatial index for SSD. In: DASFAA Workshops, pp. 202–213 (2011)

  13. 13.

    McKenney, M., McGuire, T.: A parallel plane sweep algorithm for multi-core systems. In: ACM SIGSPATIAL Conference, pp. 392–395 (2009)

  14. 14.

    McKenney, M., Frye, R., Dellamano, M., Anderson, K., Harris, J.: Multi-core parallelism for plane sweep algorithms as a foundation for GIS operations. GeoInformatica 21(1), 151–174 (2017)

    Article  Google Scholar 

  15. 15.

    Pawlik, M., Macyna, W.: Implementation of the aggregated R-tree over flash memory. In: DASFAA Workshops, pp. 65–72 (2012)

  16. 16.

    Roh, H., Park, S., Kim, S., Shin, M., Lee, S.-W.: B+-tree index optimization by exploiting internal parallelism of flash-based solid state drives. PVLDB 5(4), 286–297 (2011)

    Google Scholar 

  17. 17.

    Roh, H., Kim, S., Lee, D., Park, S.: As b-tree: a study of an efficient b+-tree for ssds. J. Inf. Sci. Eng. 30(1), 85–106 (2014)

    Google Scholar 

  18. 18.

    Roh, H., Park, S., Shin, M., Lee, S.-W.: Mpsearch: multi-path search for tree-based indexes to exploit internal parallelism of flash ssds. IEEE Data Eng. Bull. 37(2), 3–11 (2014)

    Google Scholar 

  19. 19.

    Roumelis, G., Vassilakopoulos, M., Corral, A.: Performance comparison of xBR-trees and R*-trees for single dataset spatial queries. In: ADBIS Conference, pp. 228–242 (2011)

  20. 20.

    Roumelis, G., Vassilakopoulos, M., Loukopoulos, T., Corral, A., Manolopoulos, Y.: The xBR+-tree: an efficient access method for points. In: DEXA Conference, pp. 43–58 (2015)

  21. 21.

    Roumelis, G., Vassilakopoulos, M., Corral, A., Manolopoulos, Y.: Bulk-loading xBR+-trees. In: MEDI Conference, pp. 57–71 (2016)

  22. 22.

    Roumelis, G., Vassilakopoulos, M., Corral, A., Manolopoulos, Y.: Bulk insertions into xBR+-trees. In: MEDI Conference, pp. 185–199 (2017)

  23. 23.

    Roumelis, G., Vassilakopoulos, M., Corral, A., Manolopoulos, Y.: Efficient query processing on large spatial databases: a performance study. J. Syst. Softw. 132, 165–185 (2017)

    Article  Google Scholar 

  24. 24.

    Roumelis, G., Vassilakopoulos, M., Corral, A., Fevgas, A., Manolopoulos, Y.: Spatial batch-queries processing using xBR+-trees in solid-state drives. In: Proceedings of the 8th international conference on medi 2018, model and data engineering, 24–26 October 2018. Marrakesh, Morocco, pp. 301–317 (2018)

  25. 25.

    Samet, H.: The quadtree and related hierarchical data structures. ACM Comput. Surv. 16(2), 187–260 (1984)

    MathSciNet  Article  Google Scholar 

  26. 26.

    Samet, H.: The Design and Analysis of Spatial Data Structures. Addison-Wesley, Boston (1990)

    Google Scholar 

  27. 27.

    Sarwat, M., Mokbel, M.F., Zhou, X., Nath, S.: FAST: a generic framework for flash-aware spatial trees. In: SSTD Conference, pp. 149–167 (2011)

  28. 28.

    Vassilakopoulos, M., Manolopoulos, Y.: External balanced regular (x-BR) trees: new structures for very large spatial databases. In: Advances in Informatics: Selected papers of the 7th Panhellenic Conference on Informatics, pp. 324–333. World Scientific (2000)

  29. 29.

    Wu, C.-H., Chang, L.-P., Kuo, T.-W.: An efficient R-tree implementation over flash-memory storage systems. In: ACM-GIS Conference, pp. 17–24 (2003)

  30. 30.

    You, S., Zhang, J., Gruenwald, L.: Parallel spatial query processing on gpus using r-trees. In: ACM SIGSPATIAL Conference, pp. 23–31 (2013)

  31. 31.

    Zhang, J., You, S.: Speeding up large-scale point-in-polygon test based spatial join on gpus. In: ACM SIGSPATIAL Conference, pp. 23–32 (2012)

  32. 32.

    Zhang, J., You, S.: Large-scale geospatial processing on multi-core and many-core processors: Evaluations on cpus, gpus and mics. CoRR, arXiv:abs/1403.0802 (2014)

  33. 33.

    Zhang, J., You, S., Gruenwald, L.: Parallel online spatial and temporal aggregations on multi-core cpus and many-core gpus. Inf. Syst. 44, 134–154 (2014)

    Article  Google Scholar 

Download references

Acknowledgements

Work of Antonio Corral, Michael Vassilakopoulos and Yannis Manolopoulos funded by the MINECO research project [TIN2017-83964-R].

Author information

Affiliations

Authors

Corresponding author

Correspondence to Michael Vassilakopoulos.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Roumelis, G., Velentzas, P., Vassilakopoulos, M. et al. Parallel processing of spatial batch-queries using \({\text {xBR}}^+\)-trees in solid-state drives. Cluster Comput 23, 1555–1575 (2020). https://doi.org/10.1007/s10586-019-03013-0

Download citation

Keywords

  • Spatial indexes
  • \(\text {xBR}^+\)-trees
  • Query processing
  • Solid-state drives
  • Multi-core CPUs