A Hybrid Heuristic-Genetic Algorithm for Task Scheduling in Heterogeneous Multi-core System

  • Chuan Wang
  • Jianhua Gu
  • Yunlan Wang
  • Tianhai Zhao
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7439)


Task scheduling on heterogeneous multi-core systems is NP-complete problem. This paper proposes a novel hybrid static scheduling algorithm named Hybrid Successor Concerned Heuristic-Genetic Scheduling (HSCGS) algorithm. The algorithm is a combination of heuristic and genetic scheduling algorithm. In the first phase we propose a heuristic algorithm named Successor Concerned List Heuristic Scheduling (SCLS) to generate a high quality scheduling result. SCLS algorithm takes the impact of current task’s scheduling to its successor into account. The second phase implements an Improved Genetic Algorithm (IGA) for scheduling, to optimize the scheduling results of SCLS iteratively. The comparison experiments are based on both random generated applications and some real world applications. The performance of HSCGS is compared with some famous task scheduling algorithms, such as HEFT and DLS. The results show that HSCGS is the best of them, and the advantages go up with the increase of the heterogeneous factor of inter-core link bandwidth.


Heterogeneous multi-core Task scheduling Heuristic algorithm Genetic algorithm Hybrid Scheduing Directed acyclic graph 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kumar, R., Tullsen, D., Jouppi, N., Ranganathan, P.: Heterogeneous Chip Multiprocessors. IEEE Computer, 32–38 (November 2005)Google Scholar
  2. 2.
    Topcuoglu, H., Hariri, S., Wu, M.Y.: Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing. IEEE Trans. Parallel and Distributed Systems 13(3), 260–274 (2002)CrossRefGoogle Scholar
  3. 3.
    Daoud, M.I., Kharma, N.: A hybrid heuristic–genetic algorithm for task scheduling in heterogeneous processor networks. J. Parallel Distrib. Comput. 71, 1518–1531 (2011)CrossRefGoogle Scholar
  4. 4.
    Daoud, M.I., Kharma, N.: A high performance algorithm for static task scheduling in heterogeneous distributed computing systems. J. Parallel Distrib. Comput. 68, 399–409 (2008)zbMATHCrossRefGoogle Scholar
  5. 5.
    Wen, Y., Xu, H., Yang, J.: A heuristic-based hybrid genetic-variable neighborhood search algorithm for task scheduling in heterogeneous multiprocessor system. Information Sciences 181, 567–581 (2011)CrossRefGoogle Scholar
  6. 6.
    Eswari, R., Nickolas, S.: Path-based Heuristic Task Scheduling Algorithm for Heterogeneous Distributed Computing Systems. In: 2010 International Conference on Advances in Recent Technologies in Communication and Computing (2010)Google Scholar
  7. 7.
    Kwok, Y.K., Ahmad, I.: Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput. Surveys 31(4), 406–471 (1999)CrossRefGoogle Scholar
  8. 8.
    Sih, G.C., Lee, E.A.: A compile-time scheduling heuristic for interconnection constrained heterogeneous processor architectures. IEEE Trans. Parallel Distributed Systems 4(2), 175–187 (1993)CrossRefGoogle Scholar
  9. 9.
    Kwok, Y.K., Ahmad, I.: Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors. IEEE Trans. Parallel Distributed Systems 7(5), 506–521 (1996)CrossRefGoogle Scholar
  10. 10.
    El-Rewini, H., Lewis, T.G.: Scheduling parallel program tasks onto arbitrary target machines. J. Parallel Distributed Comput. 9(2), 138–153 (1990)CrossRefGoogle Scholar
  11. 11.
    Eiben, A.E., Michalewicz, Z., Schoenauer, M., Smith, J.E.: Parameter control in evolutionary algorithms. Stud. Comput. Intell. 54, 19–46 (2007)CrossRefGoogle Scholar
  12. 12.
    Ilavarasan, E., Thambidurai, P., Mahilmannan, R.: Performance effective task scheduling algorithm for heterogeneous computing system. In: Proc. 4th International Symposium on Parallel and Distributed Computing, France, pp. 28–38 (2005)Google Scholar
  13. 13.
    Iverson, M., Ozguner, F., Follen, G.: Parallelizing existing applications in a distributed heterogeneous environment. In: Proc. 4th Heterogeneous Computing Workshop, Santa Barbara, CA, pp. 93–100 (1995)Google Scholar
  14. 14.
    Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.-A.: STARPU: a unified platform for task scheduling on heterogeneous multicore architectures. University of Bordeaux – LaBRI – INRIA Bordeaux Sud-OuesGoogle Scholar
  15. 15.
    Moghaddam, M.E., Bonyadi, M.R.: An Immune-based Genetic Algorithm with Reduced Search Space Coding for Multiprocessor Task Scheduling Problem. Int. J. Parallel Prog., doi:10.1007/s10766-011-0179-0Google Scholar
  16. 16.
    Bansal, S., Kumar, P., Singh, K.: An improved duplication strategy for scheduling precedence constrained graphs inmultiprocessor systems. IEEE Trans. Parallel Distrib. Syst. 14, 533–544 (2003)CrossRefGoogle Scholar
  17. 17.
    Chung, Y.C., Ranka, S.: Application and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed-memory multiprocessors. In: Proc. Supercomputing 1992, Minneapolis, MN, pp. 512–521 (1992)Google Scholar
  18. 18.
    Wu, M., Dajski, D.: Hypertool: A programming aid for message passing systems. IEEE Trans. Parallel Distrib. Syst. 1, 330–343 (1990)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Chuan Wang
    • 1
  • Jianhua Gu
    • 1
  • Yunlan Wang
    • 1
  • Tianhai Zhao
    • 1
  1. 1.School of ComputerNPU HPC CenterXi’anChina

Personalised recommendations