The VLDB Journal

, Volume 25, Issue 6, pp 817–841 | Cite as

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

Regular Paper


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.


Work-efficiency GPGPU Multicore Parallel algorithms Skyline operator Data structures 



This research was supported through the WallViz (Danish Council for Strategic Research) and ExiBiDa (Norwegian Research Council) projects. The authors thank the Harvard DASlab for the use of their quad-socket machine and the anonymous reviewers for their helpful comments and suggestions of informative experiments.


  1. 1.
    Bartolini, I., Ciaccia, P., Patella, M.: Efficient sort-based skyline evaluation. TODS 33(4), 31:1–49 (2008)CrossRefGoogle Scholar
  2. 2.
    Bøgh, K.S., Assent, I., Magnani, M.: Efficient GPU-based skyline computation. In: Proceedings of the DaMoN, pp. 5:1–6 (2013)Google Scholar
  3. 3.
    Bøgh, K.S., Chester, S., Assent, I.: Work-efficient skyline computation for the GPU. PVLDB 8(9), 962–973 (2015)Google Scholar
  4. 4.
    Börzsönyi, S., Kossman, D., Stocker, K.: The skyline operator. In: Proceedings of the ICDE, pp. 421–430 (2001)Google Scholar
  5. 5.
    Chester, S., Šidlauskas, D., Assent, I., Bøgh, K.S.: Scalable parallelization of skyline computation for multi-core processors. In: Proceedings of the ICDE (2015)Google Scholar
  6. 6.
    Cho, S.R., Lee, J., Hwang, S.W., Han, H., Lee, S.W.: VSkyline: vectorization for efficient skyline computation. SIGMOD Rec. 39(2), 19–26 (2010)CrossRefGoogle Scholar
  7. 7.
    Choi, W., Liu, L., Yu, B.: Multi-criteria decision making with skyline computation. In: Proceedings of the IRI, pp. 316–323 (2012)Google Scholar
  8. 8.
    Chomicki, J., Godfrey, P., Gryz, J., Liang, D.: Skyline with presorting. In: Proc of the ICDE, pp. 717–719 (2003)Google Scholar
  9. 9.
    He, B., Lu, M., Yang, K., Fang, R., Govindaraju, N.K., Luo, Q., Sander, P.V.: Relational query coprocessing on graphics processors. TODS 34(4), 1–39 (2009)CrossRefGoogle Scholar
  10. 10.
    He, B., Yang, K., Fang, R., Lu, M., Govindaraju, N.K., Luo, Q., Sander, P.V.: Relational joins on graphics processors. In: Proceedings of the SIGMOD, pp. 511–524 (2008)Google Scholar
  11. 11.
    Hose, K., Vlachou, A.: A survey of skyline processing in highly distributed environments. VLDB J. 21(3), 359–384 (2012)CrossRefGoogle Scholar
  12. 12.
    Im, H., Park, J., Park, S.: Parallel skyline computation on multicore architectures. Inf. Syst. 36(4), 808–823 (2011)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Kaldewey, T., Lohman, G., Mueller, R., Volk, P.: GPU join processing revisited. In: Proceedings of the DaMoN, pp. 55–62 (2012)Google Scholar
  14. 14.
    Lee, J., Hwang, S.W.: Scalable skyline computation using a balanced pivot selection technique. Inf. Syst. 39, 1–24 (2014)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Lee, K.C.K., Zheng, B., Li, H., Lee, W.C.: Approaching the skyline in Z order. In: Proceedings of the VLDB, pp. 279–290 (2007)Google Scholar
  16. 16.
    Mullesgaard, K., Pedersen, J.L., Lu, H., Zhou, Y.: Efficient skyline computation in MapReduce. In: Proceedings of the EDBT, pp. 37–48 (2014)Google Scholar
  17. 17.
    Papadias, D., Tao, Y., Fu, G., Seeger, B.: Progressive skyline computation in database systems. TODS 30(1), 41–82 (2005)CrossRefGoogle Scholar
  18. 18.
    Park, Y., Min, J.K., Shim, K.: Parallel computation of skyline and reverse skyline queries using MapReduce. PVLDB 6(14), 2002–2011 (2013)Google Scholar
  19. 19.
    Tan, K.L., Eng, P.K., Ooi, B.C.: Efficient progressive skyline computation. In: Proceedings of the VLDB, pp. 301–310 (2001)Google Scholar
  20. 20.
    Vlachou, A., Doulkeridis, C., Kotidis, Y.: Angle-based space partitioning for efficient parallel skyline computation. In: Proceedings of the SIGMOD, pp. 227–238 (2008)Google Scholar
  21. 21.
    Woods, L., Alonso, G., Teubner, J.: Parallel computation of skyline queries. In: Proceedings of the FCCM, pp. 1–8 (2013)Google Scholar
  22. 22.
    Zhang, K., Yang, D., Gao, H., Li, J., Wang, H., Cai, Z.: VMPSP: Efficient skyline computation using VMP-based space partitioning. In: Proceedings of the DASFAA Workshops, pp. 179–193 (2016)Google Scholar
  23. 23.
    Zhang, S., Mamoulis, N., Cheung, D.W.: Scalable skyline computation using object-based space partitioning. In: Proceedings of the SIGMOD, pp. 483–494 (2009)Google Scholar

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