Abstract
A dominance test, which decides the dominance relationship between tuples, is a core operation in skyline computation. Optimizing dominance tests can thus improve the performance of all existing skyline algorithms. Towards this goal, this paper proposes a vectorization of dominance tests in SIMD architectures. Specifically, our vectorization can perform the dominance test of multiple consecutive dimensions in parallel, thereby achieving a speedup of SIMD parallelism degree in theory. However, achieving such performance gain is non-trivial due to complex control dependencies within the dominance test. To address this problem, we devise an efficient vectorization, called VSkyline, which performs the dominance test with SIMD instructions by determining incomparability in a block of four dimensional values. Experimental results using a performance monitor show that VSkyline considerably reduces the numbers of both executed instructions and branch mispredictions.
- A. Ailamaki, D. J. DeWitt, M. D. Hill, and D. A. Wood. DBMSs on a modern processor: Where does time go? In VLDB, pages 266--277, 1999. Google ScholarDigital Library
- S. Börzsönyi, D. Kossmann, and K. Stocker. The skyline operator. In ICDE, pages 421--430, 2001. Google ScholarDigital Library
- J. Chomicki, P. Godfery, J. Gryz, and D. Liang. Skyline with presorting. In ICDE, pages 717--719, 2003.Google ScholarCross Ref
- P. Godfrey, R. Shipley, and J. Gryz. Maximal vector computation in large data sets. In VLDB, pages 229--240, 2005. Google ScholarDigital Library
- D. Kossmann, F. Ramsak, and S. Rost. Shooting stars in the sky: An online algorithm for skyline queries. In VLDB, pages 275--286, 2002. Google ScholarDigital Library
- K. C. Lee, B. Zheng, H. Li, and W.-C. Lee. Approaching the skyline in Z order. In VLDB, pages 279--290, 2007. Google ScholarDigital Library
- D. Papadias, Y. Tao, G. Fu, and B. Seeger. An optimal and progessive algorithm for skyline queries. In SIGMOD, pages 467--478, 2003. Google ScholarDigital Library
- S. Park, T. Kim, J. Park, J. Kim, and H. Im. Parallel skyline computation on multicore architectures. In ICDE, pages 760--771, 2009. Google ScholarDigital Library
- D. A. Patterson and J. L. Hennessy. Computer Organization and Design: The Hardware/Software Interface(4th edition). Morgan Kaufmann Publishers Inc., 2008. Google ScholarDigital Library
- J. Reinders. VTune Performance Analyzer Essentials. Intel Press, 2005.Google Scholar
- K. Tan, P. Eng, and B. C. Ooi. Efficient progressive skyline computation. In VLDB, pages 301--310, 2001. Google ScholarDigital Library
- A. Vlachou, C. Doulkeridis, and Y. Kotidis. Angle-based space partitioning for efficient parallel skyline computation. In SIGMOD, pages 227--238, 2008. Google ScholarDigital Library
- S. Zhang, N. Mamoulis, and D. W. Cheung. Scalable skyline computation using object-based space partitioning. In SIGMOD, pages 483--494, 2009. Google ScholarDigital Library
- J. Zhou and K. A. Ross. Implementing database operations using SIMD instructions. In SIGMOD, pages 145--156, 2002. Google ScholarDigital Library
Recommendations
An evaluation of speculative instruction execution on simultaneous multithreaded processors
Modern superscalar processors rely heavily on speculative execution for performance. For example, our measurements show that on a 6-issue superscalar, 93% of committed instructions for SPECINT95 are speculative. Without speculation, processor resources ...
Outer-loop vectorization: revisited for short SIMD architectures
PACT '08: Proceedings of the 17th international conference on Parallel architectures and compilation techniquesVectorization has been an important method of using data-level parallelism to accelerate scientific workloads on vector machines such as Cray for the past three decades. In the last decade it has also proven useful for accelerating multi-media and ...
Converting thread-level parallelism to instruction-level parallelism via simultaneous multithreading
To achieve high performance, contemporary computer systems rely on two forms of parallelism: instruction-level parallelism (ILP) and thread-level parallelism (TLP). Wide-issue super-scalar processors exploit ILP by executing multiple instructions from a ...
Comments