Generic Algorithms for Scheduling Applications on Hybrid Multi-core Machines

  • Marcos Amaris
  • Giorgio Lucarelli
  • Clément Mommessin
  • Denis Trystram
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10417)


We study the problem of executing an application represented by a precedence task graph on a multi-core machine composed of standard computing cores and accelerators. Contrary to most existing approaches, we distinguish the allocation and the scheduling phases and we mainly focus on the allocation part of the problem: choose the most appropriate type of computing unit for each task. We address both off-line and on-line settings. In the first case, we establish strong lower bounds on the worst-case performance of a known approach based on Linear Programming for solving the allocation problem. Then, we refine the scheduling phase and we replace the greedy list scheduling policy used in this approach by a better ordering of the tasks. Although this modification leads to the same approximability guarantees, it performs much better in practice. In the on-line case, we assume that the tasks arrive in any, not known in advance, order which respects the precedence relations and the scheduler has to take irrevocable decisions about their allocation and execution. In this setting, we propose the first online scheduling algorithm which takes into account precedences. Our algorithm is based on adequate rules for selecting the type of processor where to allocate the tasks and it achieves a constant factor approximation guarantee if the ratio of the number of CPUs over the number of GPUs is bounded. Finally, all the previous algorithms have been experimented on a large number of simulations built on actual libraries. These simulations assess the good practical behavior of the algorithms with respect to the state-of-the-art solutions whenever these exist or baseline algorithms.


  1. 1.
    Agullo, E., et al.: Poster: matrices over runtime systems at exascale. In: SC Companion, p. 1332 (2012)Google Scholar
  2. 2.
    Amaris, M., Cordeiro, D., Goldman, A., de Camargo, R.Y.: A simple BSP-based model to predict execution time in GPU applications. In: HiPC, pp. 285–294 (2015)Google Scholar
  3. 3.
    Amaris, M., Lucarelli, G., Mommessin, C., Trystram, D.: Generic algorithms for scheduling applications on hybrid multi-core machines. Technical report 01420798, HAL (2016).
  4. 4.
    Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.A.: StarPU: a unified platform for task scheduling on heterogeneous multicore architectures. Concurr. Comput.: Pract. Exper. 23(2), 187–198 (2011)CrossRefGoogle Scholar
  5. 5.
    Bleuse, R., Kedad-Sidhoum, S., Monna, F., Mounié, G., Trystram, D.: Scheduling independent tasks on multi-cores with GPU accelerators. Concurr. Comput.: Pract. Exper. 27(6), 1625–1638 (2015)CrossRefGoogle Scholar
  6. 6.
    Braun, T.D., et al.: A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. J. Parallel Distrib. Comput. 61(6), 810–837 (2001)CrossRefMATHGoogle Scholar
  7. 7.
    Chen, L., Ye, D., Zhang, G.: Online scheduling of mixed CPU-GPU jobs. Int. J. Found. Comput. Sci. 25(06), 745–761 (2014)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Chudak, F.A., Shmoys, D.B.: Approximation algorithms for precedence-constrained scheduling problems on parallel machines that run at different speeds. J. Algorithms 30(2), 323–343 (1999)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Cordeiro, D., Mounié, G., Perarnau, S., Trystram, D., Vincent, J.M., Wagner, F.: Random graph generation for scheduling simulations. In: SIMUTools, p. 60 (2010)Google Scholar
  10. 10.
    Graham, R.L.: Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 17(2), 416–429 (1969)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Kedad-Sidhoum, S., Monna, F., Trystram, D.: Scheduling tasks with precedence constraints on hybrid multi-core machines. In: HCW, pp. 27–33 (2015)Google Scholar
  12. 12.
    Lee, V.W., et al.: Debunking the 100x GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU. SIGARCH Comput. Archit. News 38(3), 451–460 (2010)CrossRefGoogle Scholar
  13. 13.
    Svensson, O.: Hardness of precedence constrained scheduling on identical machines. SIAM J. Comput. 40(5), 1258–1274 (2011)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
  15. 15.
    Topcuoglu, H., Hariri, S., Wu, M.Y.: Task scheduling algorithms for heterogeneous processors. In: HCW, pp. 3–14 (1999)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Marcos Amaris
    • 1
    • 2
  • Giorgio Lucarelli
    • 1
  • Clément Mommessin
    • 1
  • Denis Trystram
    • 1
  1. 1.CNRS, Inria, LIGUniv. Grenoble AlpesGrenobleFrance
  2. 2.Institute of Mathematics and StatisticsUniversity of São PauloSão PauloBrazil

Personalised recommendations