Processing of Multidimensional Range Query Using SIMD Instructions

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.

[1]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[2]  Ulrich Drepper,et al.  What Every Programmer Should Know About Memory , 2007 .

[3]  Pavel Zezula,et al.  Efficient Processing of Narrow Range Queries in Multi-dimensional Data Structures , 2006, 2006 10th International Database Engineering and Applications Symposium (IDEAS'06).

[4]  Pradeep Dubey,et al.  Efficient implementation of sorting on multi-core SIMD CPU architecture , 2008, Proc. VLDB Endow..

[5]  David J. DeWitt,et al.  Weaving Relations for Cache Performance , 2001, VLDB.

[6]  Y. F. Fung,et al.  Parallel solution for railway power network simulation , 2001, 2001 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (IEEE Cat. No.01CH37233).

[7]  Cui Yu,et al.  High-Dimensional Indexing , 2002, Lecture Notes in Computer Science.

[8]  Sam Lightstone,et al.  Physical Database Design: the database professional's guide to exploiting indexes, views, storage, and more , 2007 .

[9]  Václav Snásel,et al.  Implementation of XPath Axes in the Multi-dimensional Approach to Indexing XML Data , 2004, EDBT Workshops.

[10]  Christos Faloutsos,et al.  The R+-Tree: A Dynamic Index for Multi-Dimensional Objects , 1987, VLDB.

[11]  David J. DeWitt,et al.  Equi-depth multidimensional histograms , 1988, SIGMOD '88.

[12]  Alexander Zeier,et al.  SIMD-Scan: Ultra Fast in-Memory Table Scan using on-Chip Vector Processing Units , 2009, Proc. VLDB Endow..

[13]  Hans-Peter Kriegel,et al.  The R*-tree: an efficient and robust access method for points and rectangles , 1990, SIGMOD '90.

[14]  Juan Carlos De Martin,et al.  Fast implementation of the MPEG-4 AAC main and low complexity decoder , 2004, 2004 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[15]  Jaroslav Pokorný,et al.  Efficient Processing of Narrow Range Queries in the R-Tree , 2006 .

[16]  Pradeep Dubey,et al.  FAST: fast architecture sensitive tree search on modern CPUs and GPUs , 2010, SIGMOD Conference.

[17]  Toby J. Teorey,et al.  Automated physical database design , 2007 .

[18]  Hanan Samet,et al.  Foundations of multidimensional and metric data structures , 2006, Morgan Kaufmann series in data management systems.

[19]  Wolfgang Lindner,et al.  Current Trends in Database Technology - EDBT 2004 Workshops, EDBT 2004 Workshops PhD, DataX, PIM, P2P&DB, and ClustWeb, Heraklion, Crete, Greece, March 14-18, 2004, Revised Selected Papers , 2004, EDBT Workshops.

[20]  Michael Freeston A general solution of the n-dimensional B-tree problem , 1995, SIGMOD '95.

[21]  Hermann Ney,et al.  Using SIMD instructions for fast likelihood calculation in LVCSR , 2000, 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.00CH37100).

[22]  Peter Chovanec,et al.  Optimization of Disk Accesses for Multidimensional Range Queries , 2010, DEXA.

[23]  Stamatis Vassiliadis,et al.  Performance comparison of SIMD implementations of the discrete wavelet transform , 2005, 2005 IEEE International Conference on Application-Specific Systems, Architecture Processors (ASAP'05).

[24]  Kenneth A. Ross,et al.  Implementing database operations using SIMD instructions , 2002, SIGMOD '02.

[25]  Martin L. Kersten,et al.  What Happens During a Join? Dissecting CPU and Memory Optimization Effects , 2000, VLDB.

[26]  Goetz Graefe,et al.  B-tree indexes and CPU caches , 2001, Proceedings 17th International Conference on Data Engineering.

[27]  Hans-Peter Kriegel,et al.  The X-tree : An Index Structure for High-Dimensional Data , 2001, VLDB.

[28]  Kenneth A. Ross,et al.  Cache Conscious Indexing for Decision-Support in Main Memory , 1999, VLDB.

[29]  Alan Jay Smith,et al.  Multimedia extensions for general purpose microprocessors: a survey , 2005, Microprocess. Microsystems.

[30]  Kenneth A. Ross,et al.  Making B+-Trees Cache Conscious in Main Memory , 2000, SIGMOD Conference.

[31]  Wenfei Fan,et al.  Keys with Upward Wildcards for XML , 2001, DEXA.

[32]  Todd C. Mowry,et al.  Improving index performance through prefetching , 2001, SIGMOD '01.

[33]  Rudolf Bayer,et al.  The Universal B-Tree for Multidimensional Indexing: general Concepts , 1997, WWCA.

[34]  Luis Gravano,et al.  STHoles: a multidimensional workload-aware histogram , 2001, SIGMOD '01.