ImGA: an improved genetic algorithm for partitioned scheduling on heterogeneous multi-core systems

Abstract

Efficient mapping of tasks onto heterogeneous multi-core systems is very challenging especially in the context of real-time applications. Assigning tasks to cores is an NP-hard problem and solving it requires the use of meta-heuristics. Relevantly, genetic algorithms have already proven to be one of the most powerful and widely used stochastic tools to solve this problem. Conventional genetic algorithms were initially defined as a general evolutionary algorithm based on blind operators with pseudo-random operations. It is commonly admitted that the use of these operators is quite poor for an efficient exploration of big problems. Likewise, since exhaustive exploration of the solution space is unrealistic, a potent option is often to guide the exploration process by hints, derived by problem structure. This guided exploration prioritizes fitter solutions to be part of next generations and avoids exploring unpromising configurations by transmitting a set of predefined criteria from parents to children. Consequently, genetic operators, such as initial population, crossover, mutation must incorporate specific domain knowledge to intelligently guide the exploration of the design space. In this paper, an improved genetic algorithm (ImGA) is proposed to enhance the conventional implementation of this evolutionary algorithm. In our experiments, we proved that ImGA leads to perceptible increase in the performance of the genetic algorithm and its convergence capabilities.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

References

  1. 1.

    Davis RI, Burns A (2011) A survey of hard real-time scheduling for multiprocessor systems. ACM Comput Surv 43(4):35

    Article  MATH  Google Scholar 

  2. 2.

    Hill MD, Marty MR (2008) Amdahl’s law in the multicore era. Computer 41(7):33–38

    Article  Google Scholar 

  3. 3.

    Burns A (1991) Scheduling hard real-time systems: a review. Softw Eng J 6:116–128

    Article  Google Scholar 

  4. 4.

    Tafesse B, Raina A, Suseela J, Muthukumar V (2011) Efficient scheduling algorithms for MPSOC systems. In: 2011 eighth international conference on information technology: new generations (ITNG), IEEE, pp 683–688

  5. 5.

    Mohammadi A, Akl SG (2005) Scheduling algorithms for real-time systems. In: Technical report 2005-499, Queen’s University, Ontario

  6. 6.

    Singh AK, Shafique M, Kumar A, Henkel J (2013) Mapping on multi/many-core systems: survey of current and emerging trends. In: Proceedings of the 50th annual design automation conference. ACM, p 1

  7. 7.

    Goldberg DE, Holland JH (1988) Genetic algorithms and machine learning. Mach Learn 3:95–99

    Article  Google Scholar 

  8. 8.

    Braun TD, Siegel HJ, Beck N, Bölöni LL, Maheswaran M, Reuther AI, Robertson JP, Theys MD, Yao B, Hensgen D et al (2001) 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

    Article  MATH  Google Scholar 

  9. 9.

    Ayari R, Hafnaoui I, Beltrame G, Nicolescu G (2016) Schedulability-guided exploration of multi-core systems. In: Proceedings of the 27th international symposium on rapid system prototyping: shortening the path from specification to prototype, ACM, pp 121–127

  10. 10.

    Van Craeynest K, Jaleel A, Eeckhout L, Narvaez P, Emer J (2012) Scheduling heterogeneous multi-cores through performance impact estimation (pie). In: IEEE computer society ACM SIGARCH computer architecture news, vol 40(3), pp 213–224

  11. 11.

    Zhuravlev S, Saez JC, Blagodurov S, Fedorova A, Prieto M (2012) Survey of scheduling techniques for addressing shared resources in multicore processors. ACM Comput Surv (CSUR) 45(1):4

    Article  MATH  Google Scholar 

  12. 12.

    Kwok Y-K, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv 31:406–471

    Article  Google Scholar 

  13. 13.

    Tumeo A, Pilato C, Ferrandi F, Sciuto D, Lanzi PL (2008) Ant colony optimization for mapping and scheduling in heterogeneous multiprocessor systems. In: IEEE international conference on embedded computer systems: architectures, modeling, and simulation 2008. SAMOS 2008, pp 142–149

  14. 14.

    Moreira O, Valente F, Bekooij M (2007) Scheduling multiple independent hard-real-time jobs on a heterogeneous multiprocessor. In: Proceedings of the 7th ACM and IEEE international conference on embedded software, pp 57–66

  15. 15.

    Ayari R, Hafnaoui I, Aguiar A, Gilbert P, Galibois M, Rousseau J-P, Beltrame G, Nicolescu G (2016) Multi-objective mapping of full-mission simulators on heterogeneous distributed multi-processor systems. J Def Model Simul Appl Methodol Technol. https://doi.org/10.1177/1548512916657907

  16. 16.

    Qin X, Jiang H (2005) A dynamic and reliability-driven scheduling algorithm for parallel real-time jobs executing on heterogeneous clusters. J Parallel Distrib Comput 65:885–900

    Article  MATH  Google Scholar 

  17. 17.

    Page AJ, Keane TM, Naughton TJ (2010) Multi-heuristic dynamic task allocation using genetic algorithms in a heterogeneous distributed system. J Parallel Distrib Comput 70(7):758–766

    Article  MATH  Google Scholar 

  18. 18.

    Choi J, Oh H, Kim S, Ha S (2012) Executing synchronous dataflow graphs on a SPM-based multicore architecture. In: The 49th annual design automation conference, pp 664–671

  19. 19.

    Mehran A, Khademzadeh A, Saeidi S (2008) DSM: a heuristic dynamic spiral mapping algorithm for network on chip. IEICE Electron Express 5:464–471

    Article  Google Scholar 

  20. 20.

    Braak TT, Holzenspies P (2010) Run-time spatial resource management for real-time applications on heterogeneous MPSoCs. In: Proceedings of the conference on design, automation and test in Europe 2010 Mar 8

  21. 21.

    Hong S, Narayanan SHK, Kandemir M, Ozturk O (2009) Process variation aware thread mapping for chip multiprocessors. In: Proceedings of the conference on design, automation and test in Europe. European design and automation association, pp 821–826

  22. 22.

    Brião E, Barcelos D, Wagner F (2008) Dynamic task allocation strategies in MPSoC for soft real-time applications. In: Proceedings of the conference on design, automation and test in Europe 2008 Mar 10

  23. 23.

    Carvalho EdS (2010) Dynamic task mapping for MPSoCs. IEEE Des Test Comput 27:26–35

    Article  Google Scholar 

  24. 24.

    Zhang M, Gao X, Lou W (2007) A new crossover operator in genetic programming for object classification. IEEE Trans Syst Man Cybern Part B (Cybernetics) 37(5):1332–1343

    Article  Google Scholar 

  25. 25.

    Ahuja RK, Orlin JB, Tiwari A (2000) A greedy genetic algorithm for the quadratic assignment problem. Comput Oper Res 27(10):917–934

    MathSciNet  Article  MATH  Google Scholar 

  26. 26.

    Drezner Z (2008) Extensive experiments with hybrid genetic algorithms for the solution of the quadratic assignment problem. Comput Oper Res 35(3):717–736

    MathSciNet  Article  MATH  Google Scholar 

  27. 27.

    Shrestha A, Mahmood A (2016) Improving genetic algorithm with fine-tuned crossover and scaled architecture. J Math 2016:10. https://doi.org/10.1155/2016/4015845

    MathSciNet  Article  Google Scholar 

  28. 28.

    Toğan V, Daloğlu AT (2008) An improved genetic algorithm with initial population strategy and self-adaptive member grouping. Comput Struct 86(11):1204–1218

    Google Scholar 

  29. 29.

    Ayari R, Hafnaoui I, Beltrame G, Nicolescu G (2016) Simulation-based schedulability assessment for real-time systems. In: Proceedings of the summer computer simulation conference. Society for computer simulation international, p 30

  30. 30.

    Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20(1):46–61

    MathSciNet  Article  MATH  Google Scholar 

  31. 31.

    Davis L (1991) Handbook of genetic algorithms

  32. 32.

    Goldberg DE (1989) Genetic algorithms in search, optimization, and machine learning, reading. Addison-Wesley, Boston

    MATH  Google Scholar 

  33. 33.

    Banzhaf W, Nordin P, Keller RE, Francone FD (1998) Genetic programming: an introduction, vol 1. Morgan Kaufmann San Francisco, Burlington

    Book  MATH  Google Scholar 

  34. 34.

    Angelova M, Pencheva T (2011) Tuning genetic algorithm parameters to improve convergence time. Int J Chem Eng 2011:7. https://doi.org/10.1155/2011/646917

    Article  Google Scholar 

Download references

Acknowledgements

This research was supported by CAE Inc. We are thankful to our colleagues Michel Galibois and Jean-Pierre Rousseau who provided expertise that greatly assisted the research.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Rabeh Ayari.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Ayari, R., Hafnaoui, I., Beltrame, G. et al. ImGA: an improved genetic algorithm for partitioned scheduling on heterogeneous multi-core systems. Des Autom Embed Syst 22, 183–197 (2018). https://doi.org/10.1007/s10617-018-9208-1

Download citation

Keywords

  • Design methodology
  • Optimization
  • Embedded systems
  • Real-time application
  • Heterogeneous multi-core architectures
  • Partitioning
  • Genetic algorithm