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 


  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