SPAGHETtI: Scheduling/Placement Approach for Task-Graphs on HETerogeneous archItecture

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8632)


We propose a new algorithm, called SPAGHETtI, for static scheduling tasks on an unbounded heterogeneous resources where resources belongs to different architecture (e.g. CPU or GPU). We show that this algorithm is optimal in complexity O(|E||A|2 + |V||A|), where |E| is the number of edges, |V| the number of vertices of the scheduled DAG and |A| the number of architectures – usually a small value – and that it is able to compute the optimal makespan. Moreover, the number of resources to be used for executing the schedule is given by a linear time algorithm. When the resources are bounded we provide a method to reduce the number of necessary resources up to the bound providing a set of compromises between the makespan and the size of the infrastructure.


  1. 1.
    Ahmad, I., Kwok, Y.K.: On exploiting task duplication in parallel program scheduling. IEEE Transactions on Parallel and Distributed Systems 9(9), 872–892 (1998)CrossRefGoogle Scholar
  2. 2.
    Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.A.: Starpu: A unified platform for task scheduling on heterogeneous multicore architectures. Concurrency and Computation: Practice and Experience 23(2), 187–198 (2011)CrossRefGoogle Scholar
  3. 3.
    Bajaj, R., Agrawal, D.P.: Improving scheduling of tasks in a heterogeneous environment. IEEE Transactions on Parallel and Distributed Systems 15(2), 107–118 (2004)CrossRefGoogle Scholar
  4. 4.
    Bosilca, G., Bouteiller, A., Danalis, A., Herault, T., Lemarinier, P., Dongarra, J.: Dague: A generic distributed dag engine for high performance computing, innovative computing laboratory technical report. Tech. rep., ICL-UT-10-01 (2010)Google Scholar
  5. 5.
    Bosilca, G., Bouteiller, A., Danalis, A., Herault, T., Lemarinier, P., Dongarra, J.: Dague: A generic distributed dag engine for high performance computing. Parallel Computing 38(1), 37–51 (2012)CrossRefGoogle Scholar
  6. 6.
    Canon, L.-C., Jeannot, E., Sakellariou, R., Zheng, W.: Comparative evaluation of the robustness of dag scheduling heuristics. In: Grid Computing, pp. 73–84. Springer (2008)Google Scholar
  7. 7.
    Chong, F.T., Sharma, S.D., Brewer, E.A., Saltz, J.: Multiprocessor runtime support for fine-grained, irregular dags. Parallel Processing Letters 5(04), 671–683 (1995)CrossRefGoogle Scholar
  8. 8.
    El-Rewini, H., Lewis, T., Ali, H.: Task Scheduling in Parallel and Distributed Systems. Prentice Hall (1994)Google Scholar
  9. 9.
    Garey, M., Johnson, D.: A Guide to the Theory of NP-Completeness. W.H. Freeman and company, New York (1979)zbMATHGoogle Scholar
  10. 10.
    George, A., Heath, M.T., Liu, J.: Parallel cholesky factorization on a shared-memory multiprocessor. Linear Algebra and its applications 77, 165–187 (1986)CrossRefzbMATHGoogle Scholar
  11. 11.
    Gustavson, F.G., Karlsson, L., Kågström, B.: Distributed sbp cholesky factorization algorithms with near-optimal scheduling. ACM Transactions on Mathematical Software (TOMS) 36(2), 11 (2009)CrossRefGoogle Scholar
  12. 12.
    Jeannot, E.: Automatic multithreaded parallel program generation for message passing multiprocessors using parameterized task graphs. In: International Conference on Parallel Computing (2001)Google Scholar
  13. 13.
    Leung, J.Y.T. (ed.): Handbook of Scheduling. Chapman & Hall/CCR (2004)Google Scholar
  14. 14.
    Mak, V.W., Lundstrom, S.F.: Predicting performance of parallel computations. IEEE Transactions on Parallel and Distributed Systems 1(3), 257–270 (1990)CrossRefGoogle Scholar
  15. 15.
    Sinnen, O.: Task scheduling for parallel systems, vol. 60. Wiley. com (2007)Google Scholar
  16. 16.
    Tang, X., Li, K., Liao, G., Li, R.: List scheduling with duplication for heterogeneous computing systems. J. of Parallel and Distributed Computing 70(4), 323–329 (2010)CrossRefzbMATHGoogle Scholar
  17. 17.
    Topcuoglu, H., Hariri, S., Wu, M.Y.: Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Transactions on Parallel and Distributed Systems 13(3), 260–274 (2002)CrossRefGoogle Scholar
  18. 18.
    Touati, S.-A.-A., Eisenbeis, C.: Early control of register pressure for software pipelined loops. In: Hedin, G. (ed.) CC 2003. LNCS, vol. 2622, pp. 17–32. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  19. 19.
    Yang, T., Gerasoulis, A.: Pyrros: Static Task Scheduling and Code Generation for Message Passing Multiprocessor. In: Supercomputing 1992, pp. 428–437. ACM, Washington D.C (1992)Google Scholar
  20. 20.
    Yang, T., Gerasoulis, A.: DSC Scheduling Parallel Tasks on an Unbounded Number of Processors. IEEE Trans. on Parallel and Distributed Systems 5(9) (1994)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.Bordeaux Institute of TechnologyFrance
  2. 2.Inria, LaBRIFrance

Personalised recommendations