Processing of Multidimensional Range Query Using SIMD Instructions
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 RectanglePreview
Unable to display preview. Download preview PDF.
References
- 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.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.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.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.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.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.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.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.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.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.Graefe, G., Larson, P.: B-tree Indexes and CPU Caches. In: Proceedings of the ICDE Conference. IEEE (2001)Google Scholar
- 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.Intel. Intel advanced vector extensions programming reference (2008), http://softwarecommunity.intel.com/isn/downloads/intelavx/Intel-AVX-Programming-Reference-31943302.pdf
- 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.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.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.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.Lightstone, S.S., Teorey, T.J., Nadeau, T.: Physical Database Design: the Database Professional’s Guide. Morgan Kaufmann (2007)Google Scholar
- 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.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.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.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.Samet, H.: Foundations of Multidimensional and Metric Data Structures. Morgan Kaufmann (2006)Google Scholar
- 24.Schmidt, A.R., et al.: The XML Benchmark. Technical Report INS-R0103, CWI, The Netherlands (April 2001), http://monetdb.cwi.nl/xml/
- 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.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.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.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.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.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.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.Yu, C.: High-Dimensional Indexing. LNCS, vol. 2341. Springer, Heidelberg (2002)MATHGoogle Scholar
- 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