Indexed on: 15 Jun '17Published on: 06 Jun '17Published in: Concurrency and Computation: Practice and Experience
Skyline computation is particularly useful in multi-criteria decision-making applications. However, it is inadequate to answer queries that need to analyze not only individual points but also groups of points. Compared to the traditional skyline computation, computing group-based skyline is much more complicated and expensive. This computational challenge promotes us to use modern computing platforms to accelerate the computation. In this paper, we introduce a novel multi-core algorithm to compute group-based skyline. We first compute the skyline layers of a data set in parallel, which are a critical intermediate result. In the algorithm, we maintain an efficiently updatable data structure for the shared global skyline layers, which is used to minimize dominance tests and maintain high throughput. Then we design an efficient parallel algorithm to find group-based skyline based on the skyline layers. Extensive experimental results on real and synthetic data sets show that our algorithms achieve 10-fold speedup with 16 parallel threads over state-of-the-art sequential algorithms on challenging workloads.