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.
Buy single article
Instant access to the full article PDF.
Tax calculation will be finalised during checkout.
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
Tax calculation will be finalised during checkout.
Davis RI, Burns A (2011) A survey of hard real-time scheduling for multiprocessor systems. ACM Comput Surv 43(4):35
Hill MD, Marty MR (2008) Amdahl’s law in the multicore era. Computer 41(7):33–38
Burns A (1991) Scheduling hard real-time systems: a review. Softw Eng J 6:116–128
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
Mohammadi A, Akl SG (2005) Scheduling algorithms for real-time systems. In: Technical report 2005-499, Queen’s University, Ontario
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
Goldberg DE, Holland JH (1988) Genetic algorithms and machine learning. Mach Learn 3:95–99
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
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
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
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
Kwok Y-K, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv 31:406–471
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
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
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
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
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
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
Mehran A, Khademzadeh A, Saeidi S (2008) DSM: a heuristic dynamic spiral mapping algorithm for network on chip. IEICE Electron Express 5:464–471
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
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
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
Carvalho EdS (2010) Dynamic task mapping for MPSoCs. IEEE Des Test Comput 27:26–35
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
Ahuja RK, Orlin JB, Tiwari A (2000) A greedy genetic algorithm for the quadratic assignment problem. Comput Oper Res 27(10):917–934
Drezner Z (2008) Extensive experiments with hybrid genetic algorithms for the solution of the quadratic assignment problem. Comput Oper Res 35(3):717–736
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
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
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
Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM 20(1):46–61
Davis L (1991) Handbook of genetic algorithms
Goldberg DE (1989) Genetic algorithms in search, optimization, and machine learning, reading. Addison-Wesley, Boston
Banzhaf W, Nordin P, Keller RE, Francone FD (1998) Genetic programming: an introduction, vol 1. Morgan Kaufmann San Francisco, Burlington
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
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.
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
About this article
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
- Design methodology
- Embedded systems
- Real-time application
- Heterogeneous multi-core architectures
- Genetic algorithm