The VLDB Journal

, Volume 25, Issue 6, pp 817–841

SkyAlign: a portable, work-efficient skyline algorithm for multicore and GPU architectures

Regular Paper

DOI: 10.1007/s00778-016-0438-1

Cite this article as:
Bøgh, K.S., Chester, S. & Assent, I. The VLDB Journal (2016) 25: 817. doi:10.1007/s00778-016-0438-1
  • 372 Downloads

Abstract

The skyline operator determines points in a multidimensional dataset that offer some optimal trade-off. State-of-the-art CPU skyline algorithms exploit quad-tree partitioning with complex branching to minimise the number of point-to-point comparisons. Branch-phobic GPU skyline algorithms rely on compute throughput rather than partitioning, but fail to match the performance of sequential algorithms. In this paper, we introduce a new skyline algorithm, SkyAlign, that is designed for the GPU, and a GPU-friendly, grid-based tree structure upon which the algorithm relies. The search tree allows us to dramatically reduce the amount of work done by the GPU algorithm by avoiding most point-to-point comparisons at the cost of some compute throughput. This trade-off allows SkyAlign to achieve orders of magnitude faster performance than its predecessors. Moreover, a NUMA-oblivious port of SkyAlign outperforms native multicore state of the art on challenging workloads by an increasing margin as more cores and sockets are utilised.

Keywords

Work-efficiency GPGPU Multicore Parallel algorithms Skyline operator Data structures 

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  1. 1.Aarhus UniversityAarhus NDenmark
  2. 2.Norwegian University of Science and Technology (NTNU)TrondheimNorway

Personalised recommendations