Schedulability-guided exploration of multi-core systems

Efficient mapping of tasks onto heterogeneous multi-core systems is very challenging especially under hard timing constraints. Assigning tasks to processors 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. It is commonly admitted that the use of these operators is quite poor for an efficient exploration. 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 crossover, must incorporate specific domain knowledge to intelligently guide the exploration of the solution space. In this paper, we illustrate and evaluate the impact of crossover operators and we propose a hybrid genetic algorithm based on a novel schedulability-guided operator that easily outperforms the classical operators by offering at least 21% improvement in terms of ratio of certainly schedulable tasks.

[1]  Yilmaz Kaya,et al.  A Novel Crossover Operator for Genetic Algorithms: Ring Crossover , 2011, ArXiv.

[2]  David E. Goldberg,et al.  Genetic algorithms and Machine Learning , 1988, Machine Learning.

[3]  David E. Goldberg,et al.  Genetic Algorithms, Tournament Selection, and the Effects of Noise , 1995, Complex Syst..

[4]  Kusum Deep,et al.  A new crossover operator for real coded genetic algorithms , 2007, Appl. Math. Comput..

[5]  Mengjie Zhang,et al.  A New Crossover Operator in Genetic Programming for Object Classification , 2007, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[6]  William M. Spears,et al.  A Study of Crossover Operators in Genetic Programming , 1991, ISMIS.

[7]  Rajeev Kumar,et al.  An Efficient EA with Multipoint Guided Crossover for Bi-objective Graph Coloring Problem , 2011, IC3.

[8]  Amit Kumar Singh,et al.  Mapping on multi/many-core systems: Survey of current and emerging trends , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[9]  Alan Burns,et al.  A survey of hard real-time scheduling for multiprocessor systems , 2011, CSUR.

[10]  Orlando Moreira,et al.  Scheduling multiple independent hard-real-time jobs on a heterogeneous multiprocessor , 2007, EMSOFT '07.

[11]  Lieven Eeckhout,et al.  Scheduling heterogeneous multi-cores through performance impact estimation (PIE) , 2012, 2012 39th Annual International Symposium on Computer Architecture (ISCA).

[12]  Manuel Prieto,et al.  Survey of scheduling techniques for addressing shared resources in multicore processors , 2012, CSUR.

[13]  Mark D. Hill,et al.  Amdahl's Law in the Multicore Era , 2008, Computer.

[14]  Tania Pencheva,et al.  Tuning Genetic Algorithm Parameters to Improve Convergence Time , 2011 .

[15]  References , 1971 .

[16]  Xiao Qin,et al.  A dynamic and reliability-driven scheduling algorithm for parallel real-time jobs executing on heterogeneous clusters , 2005, J. Parallel Distributed Comput..

[17]  A. Burns,et al.  Scheduling hard real-time systems: a review , 1991, Softw. Eng. J..

[18]  Amit Banerjee,et al.  A novel probabilistically-guided context-sensitive crossover operator for clustering , 2013, Swarm Evol. Comput..

[19]  Rakesh Kumar Jyotishree Novel Knowledge Based Tabu Crossover In Genetic Algorithms , 2012 .

[20]  H. Kita,et al.  A crossover operator using independent component analysis for real-coded genetic algorithms , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

[21]  Francisco Herrera,et al.  Heuristic Crossovers for Real-Coded Genetic Algorithms Based on Fuzzy Connectives , 1996, PPSN.

[22]  R. Hinterding,et al.  Gaussian mutation and self-adaption for numeric genetic algorithms , 1995, Proceedings of 1995 IEEE International Conference on Evolutionary Computation.

[23]  Pier Luca Lanzi,et al.  Ant colony optimization for mapping and scheduling in heterogeneous multiprocessor systems , 2008, 2008 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation.

[24]  Arezou Mohammadi,et al.  Scheduling Algorithms for Real-Time Systems , 2009 .

[25]  Ladislau Bölöni,et al.  A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems , 2001, J. Parallel Distributed Comput..

[26]  R. F. Freund,et al.  A Comparison Study of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Ileterogeneous Distributed Computing Systems , 2013 .

[27]  Thomas M. Keane,et al.  Multi-heuristic dynamic task allocation using genetic algorithms in a heterogeneous distributed system , 2010, J. Parallel Distributed Comput..

[28]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[29]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[30]  Venkatesan Muthukumar,et al.  Efficient Scheduling Algorithms for MpSoC Systems , 2011, 2011 Eighth International Conference on Information Technology: New Generations.

[31]  A. E. Eiben,et al.  Genetic algorithms with multi-parent recombination , 1994, PPSN.

[32]  Soonhoi Ha,et al.  Executing synchronous dataflow graphs on a SPM-based multicore architecture , 2012, DAC Design Automation Conference 2012.

[33]  Gilbert Syswerda,et al.  Uniform Crossover in Genetic Algorithms , 1989, ICGA.