Codelet Scheduling by Genetic Algorithm

Codelet model is a fine-grained, event-driven hybrid parallel model inspired by dataflow, whose performance depends on the scheduling policy. How to design optimal codelet scheduling policy based on the features of tasks is important to the codelet-based system performance. In this paper, we propose an adaptive codelet scheduling policy by combing "pure" genetic algorithm for tasks with complex dependencies. It is verified that the policy is effective based on bunches of experimental results.

[1]  Sam Kwong,et al.  Genetic algorithms and their applications , 1996, IEEE Signal Process. Mag..

[2]  Joshua Suetterlein,et al.  Darts: A runtime based on the Codelet execution model , 2014 .

[3]  Avi Mendelson,et al.  TERAFLUX: Harnessing dataflow in next generation teradevices , 2014, Microprocess. Microsystems.

[4]  Nirwan Ansari,et al.  A Genetic Algorithm for Multiprocessor Scheduling , 1994, IEEE Trans. Parallel Distributed Syst..

[5]  Thu D. Nguyen,et al.  Parallel Application Characteristics for Multiprocessor Scheduling Policy Design , 1996, JSSPP.

[6]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[7]  Yoav Etsion,et al.  Hybrid Dataflow/von-Neumann Architectures , 2014, IEEE Transactions on Parallel and Distributed Systems.

[8]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[9]  Jack B. Dennis,et al.  Fresh Breeze: a multiprocessor chip architecture guided by modular programming principles , 2003, CARN.

[10]  Rishi Khan,et al.  Towards a codelet-based runtime for exascale computing: position paper , 2012, EXADAPT '12.

[11]  Moni Naor,et al.  Job Scheduling Strategies for Parallel Processing , 2017, Lecture Notes in Computer Science.

[12]  Jack B. Dennis,et al.  First version of a data flow procedure language , 1974, Symposium on Programming.

[13]  Vivek Sarkar,et al.  Partitioning and scheduling parallel programs for execution on multiprocessors , 1987 .

[14]  J. Dennis DATA FLOW COMPUTER ARCHITECTURE FINAL REPORT , 1987 .

[15]  Thierry Gautier,et al.  KAAPI: A thread scheduling runtime system for data flow computations on cluster of multi-processors , 2007, PASCO '07.

[16]  Afonso Ferreira,et al.  Scheduling Multiprocessor Tasks with Genetic Algorithms , 1999, IEEE Trans. Parallel Distributed Syst..

[17]  Robert M. Keller,et al.  Data Flow Program Graphs , 1982, Computer.

[18]  Sadiq M. Sait,et al.  Genetic scheduling of task graphs , 1994 .

[19]  Surya B. Yadav,et al.  The Development and Evaluation of an Improved Genetic Algorithm Based on Migration and Artificial Selection , 1994, IEEE Trans. Syst. Man Cybern. Syst..

[20]  Dinesh Bhatia,et al.  Temporal Partitioning and Scheduling Data Flow Graphs for Reconfigurable Computers , 1999, IEEE Trans. Computers.

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

[22]  Marin Golub,et al.  Scheduling Multiprocessor Tasks with Genetic Algorithms , 2019 .

[23]  Guang R. Gao,et al.  An Implementation of the Codelet Model , 2013, Euro-Par.