Processing of Multidimensional Range Query Using SIMD Instructions

  • Peter Chovanec
  • Michal Krátký
Part of the Communications in Computer and Information Science book series (CCIS, volume 254)

Abstract

Current main stream CPUs provide SIMD (Single Instruction Multiple Data) computational capabilities. Although producers of current hardware provide other computational capabilities like multi-cores CPU, GPU or APU, an important feature of SIMD is that it provides parallel operations for one CPU’s core. In previous works, authors introduced an utilization of the SIMD instructions in some indexing data structures like B-tree. Since multidimensional data structures manage n-dimensional tuples or rectangles, the utilization of these instructions seems to be straightforward in operations manipulating these n-dimensional objects. In this article, we show the utilization of SIMD in the R-tree data structure. Since the range query is one of the most important operation of multidimensional data structures, we suppose the utilization of SIMD in range query processing. Moreover, we show properties and scalability of this solution. We show that the SIMD range query algorithm is up-to 2× faster then the conventional algorithm.

Keywords

Leaf Node Range Query Spatial Object Conventional Algorithm Minimum Bound Rectangle 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ailamaki, A., DeWitt, D.J., Hill, M.D., Skounakis, M.: Weaving Relations for Cache Performance. In: Proceedings of the International Conference on Very Large Data Bases, VLDB 2001 (2001)Google Scholar
  2. 2.
    Bayer, R.: The Universal B-Tree for Multidimensional Indexing: General Concepts. In: Masuda, T., Tsukamoto, M., Masunaga, Y. (eds.) WWCA 1997. LNCS, vol. 1274, pp. 198–209. Springer, Heidelberg (1997)Google Scholar
  3. 3.
    Beckmann, N., Kriegel, H.-P., Schneider, R., Seeger, B.: The R*-Tree: An Efficient and Robust Access Method for Points and Rectangles. In: Proceedings of the ACM International Conference on Management of Data, SIGMOD 1990 (1990)Google Scholar
  4. 4.
    Bruno, N., Chaudhuri, S., Gravano, L.: STHoles: A Multidimensional Workload-Aware Histogram. In: Proceedings of the ACM International Conference on Management of Data, SIGMOD 2001 (2001)Google Scholar
  5. 5.
    Chen, S., Gibbons, P.B., Mowry, T.C.: Improving Index Performance Through Prefetching. In: Proceedings of the ACM International Conference on Management of Data, SIGMOD 2001 (2001)Google Scholar
  6. 6.
    Chhugani, J., Nguyen, A.D., Lee, V.W., Macy, W., Hagog, M., Chen, Y.-K., Baransi, A., Kumar, S., Dubey, P.: Efficient Implementation of Sorting on Multi-Core SIMD CPU Architecture. Proceedings of the VLDB Endowment 1(2) (2008)Google Scholar
  7. 7.
    Chovanec, P., Krátký, M., Bača, R.: Optimization of Disk Accesses for Multidimensional Range Queries. In: Bringas, P.G., Hameurlain, A., Quirchmayr, G. (eds.) DEXA 2010. LNCS, vol. 6261, pp. 358–367. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Drepper, U.: What Every Programmer Should Know About Memory. Technical report, Red Hat, Inc. (2007), http://magazine.redhat.com/2007/10/26/ulrich-drepper-memory-article-series/
  9. 9.
    Freeston, M.: A General Solution of the n-dimensional B-tree Problem. In: Proceedings of the ACM International Conference on Management of Data (SIGMOD 1995). ACM Press (1995)Google Scholar
  10. 10.
    Fung, Y., Ho, T., Cheung, W., Ercan, M.: Parallel Solution for Railway Power Network Simulation. In: Proceedings of IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (2001)Google Scholar
  11. 11.
    Graefe, G., Larson, P.: B-tree Indexes and CPU Caches. In: Proceedings of the ICDE Conference. IEEE (2001)Google Scholar
  12. 12.
    Guttman, A.: R-Trees: A Dynamic Index Structure for Spatial Searching. In: Proceedings of the ACM International Conference on Management of Data (SIGMOD 1984), pp. 47–57. ACM Press (June 1984)Google Scholar
  13. 13.
    Intel. Intel advanced vector extensions programming reference (2008), http://softwarecommunity.intel.com/isn/downloads/intelavx/Intel-AVX-Programming-Reference-31943302.pdf
  14. 14.
    Kanthak, S., Schutz, K., Ney, H.: Using SIMD Instructions for Fast Likelihood Calculation in LVCSR. In: Proceedings of Acoustics, Speech, and Signal Processing, ICASSP 2000 (2000)Google Scholar
  15. 15.
    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: Proceedings of the ACM SIGMOD Conference (2010)Google Scholar
  16. 16.
    Krátký, M., Pokorný, J., Snášel, V.: Implementation of XPath Axes in the Multi-dimensional Approach to Indexing XML Data. In: Lindner, W., Fischer, F., Türker, C., Tzitzikas, Y., Vakali, A.I. (eds.) EDBT 2004. LNCS, vol. 3268, pp. 219–229. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Krátký, M., Snášel, V., Zezula, P., Pokorný, J.: Efficient Processing of Narrow Range Queries in the R-Tree. In: Proceedings of IDEAS 2006. IEEE CS Press (2006)Google Scholar
  18. 18.
    Lightstone, S.S., Teorey, T.J., Nadeau, T.: Physical Database Design: the Database Professional’s Guide. Morgan Kaufmann (2007)Google Scholar
  19. 19.
    Manegold, S., Boncz, P., Kersten, M.: What Happens During a Join? Dissecting CPU and Memory Optimization Effects. In: Proceedings of the International Conference on Very Large Data Bases, VLDB 2000 (2000)Google Scholar
  20. 20.
    Muralikrishna, M., Dewitt, D.: Equi-Depth Histograms for Estimating Selectivity Factors for Multi-Dimensional Queries. In: Proceedings of the ACM SIGMOD Conference on Management of Data (SIGMOD 1988), pp. 28–36 (1988)Google Scholar
  21. 21.
    Rao, J., Ross, K.A.: Cache Conscious Indexing for Decision-Support in Main Memory. In: Proceedings of the International Conference on Very Large Data Bases, VLDB 1999 (1999)Google Scholar
  22. 22.
    Rao, J., Ross, K.A.: Making B+ Trees Cache Conscious in Main Memory. In: Proceedings of the ACM International Conference on Management of Data, SIGMOD 2000 (2000)Google Scholar
  23. 23.
    Samet, H.: Foundations of Multidimensional and Metric Data Structures. Morgan Kaufmann (2006)Google Scholar
  24. 24.
    Schmidt, A.R., et al.: The XML Benchmark. Technical Report INS-R0103, CWI, The Netherlands (April 2001), http://monetdb.cwi.nl/xml/
  25. 25.
    Sellis, T.K., Roussopoulos, N., Faloutsos, C.: The R + -Tree: A Dynamic Index for Multi-Dimensional Objects. In: Proceedings of the International Conference on Very Large Data Bases (VLDB 1997), pp. 507–518. Morgan Kaufmann (1997)Google Scholar
  26. 26.
    Servetti, A., Rinotti, A., De Martin, J.: Fast Implementation of the MPEG-4 AAC Main and Low Complexity Decoder. In: Proceedings of Acoustics, Speech, and Signal Processing, ICASSP 2004 (2004)Google Scholar
  27. 27.
    Shahbahrami, A., Juurlink, B., Vassiliadis, S.: Performance Comparison of SIMD Implementations of the Discrete Wavelet Transform. In: Proceedings of Application-Specific Systems, Architecture Processors, ASAP 2005 (2005)Google Scholar
  28. 28.
    Slingerland, N., Smith, A.J.: Multimedia Extensions for General Purpose Microprocessors: A Survey. In: Technical report CSD-00-1124. University of California at Berkeley (2000)Google Scholar
  29. 29.
    Berchtold, S., Keim, D.A., Kriegel, H.-P.: The X-Tree: An Index Structure for High-Dimensional Data. In: Proceedings of the International Conference on Very Large Data Bases, VLDB 1996 (1996)Google Scholar
  30. 30.
    U.S. Department of Commerce, U.S. Census Bureau, Geography Division. TIGER/Line Files, 2 edn. Alabama, Autauga County (2006), http://www.census.gov/geo/www/tiger/
  31. 31.
    Willhalm, T., Popovici, N., Boshmaf, Y., Plattner, H., Zeier, A., Schaffner, J.: SIMD-Scan: Ultra Fast In-Memory Table Scan Using On-Chip Vector Processing Units. Proceedings of the VLDB Endowment 2(1) (2009)Google Scholar
  32. 32.
    Yu, C.: High-Dimensional Indexing. LNCS, vol. 2341. Springer, Heidelberg (2002)MATHGoogle Scholar
  33. 33.
    Zhou, J., Ross, K.A.: Implementing Database Operations Using SIMD Instructions. In: Proceedings of the ACM International Conference on Management of Data, SIGMOD 2002 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Peter Chovanec
    • 1
  • Michal Krátký
    • 1
  1. 1.Department of Computer ScienceVŠB–Technical University of OstravaOstravaCzech Republic

Personalised recommendations