Ant Colony Heuristic for Mapping and Scheduling Tasks and Communications on Heterogeneous Embedded Systems

To exploit the power of modern heterogeneous multiprocessor embedded platforms on partitioned applications, the designer usually needs to efficiently map and schedule all the tasks and the communications of the application, respecting the constraints imposed by the target architecture. Since the problem is heavily constrained, common methods used to explore such design space usually fail, obtaining low-quality solutions. In this paper, we propose an ant colony optimization (ACO) heuristic that, given a model of the target architecture and the application, efficiently executes both scheduling and mapping to optimize the application performance. We compare our approach with several other heuristics, including simulated annealing, tabu search, and genetic algorithms, on the performance to reach the optimum value and on the potential to explore the design space. We show that our approach obtains better results than other heuristics by at least 16% on average, despite an overhead in execution time. Finally, we validate the approach by scheduling and mapping a JPEG encoder on a realistic target architecture.

[1]  Petru Eles,et al.  System Level Hardware/Software Partitioning Based on Simulated Annealing and Tabu Search , 1997, Des. Autom. Embed. Syst..

[2]  Jean Jyh-Jiun Shann,et al.  ETAHM: An energy-aware task allocation algorithm for heterogeneous multiprocessor , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[3]  Chuan-Wen Chiang,et al.  Ant colony optimization with parameter adaptation for multi-mode resource-constrained project scheduling , 2008, J. Intell. Fuzzy Syst..

[4]  Marco Dorigo,et al.  Ant system: optimization by a colony of cooperating agents , 1996, IEEE Trans. Syst. Man Cybern. Part B.

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

[6]  Wayne Luk,et al.  Mapping and scheduling with task clustering for heterogeneous computing systems , 2008, 2008 International Conference on Field Programmable Logic and Applications.

[7]  Jürgen Teich,et al.  An evolutionary approach to system-level synthesis , 1997, CODES.

[8]  Damla Turgut,et al.  A performance study of multiprocessor task scheduling algorithms , 2007, The Journal of Supercomputing.

[9]  Wayne Wolf,et al.  Communication synthesis for distributed embedded systems , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[10]  Peter Brucker,et al.  Resource-Constrained Project Scheduling , 2012 .

[11]  Ed F. Deprettere,et al.  Daedalus: Toward composable multimedia MP-SoC design , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[12]  Ieee Circuits,et al.  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems information for authors , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[13]  Theerayod Wiangtong,et al.  Comparing Three Heuristic Search Methods for Functional Partitioning in Hardware–Software Codesign , 2002, Des. Autom. Embed. Syst..

[14]  Frank Vahid,et al.  Extending the Kernighan/Lin Heuristic for Hardware and Software Functional Partitioning , 1997, Des. Autom. Embed. Syst..

[15]  Ieee Circuits,et al.  IEEE Transactions on Very Large Scale Integration (VLSI) Systems , 2018, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[16]  Rolf H. Möhring,et al.  Resource-constrained project scheduling: Notation, classification, models, and methods , 1999, Eur. J. Oper. Res..

[17]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

[18]  José Ignacio Hidalgo,et al.  Functional partitioning for hardware-software codesign using genetic algorithms , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).

[19]  Hartmut Schmeck,et al.  Ant colony optimization for resource-constrained project scheduling , 2000, IEEE Trans. Evol. Comput..

[20]  Marc Parizeau,et al.  Open BEAGLE: A New Versatile C++ Framework for Evolutionary Computation , 2002, GECCO Late Breaking Papers.

[21]  Erik Brockmeyer,et al.  Data-Reuse-Driven Energy-Aware Cosynthesis of Scratch Pad Memory and Hierarchical Bus-Based Communication Architecture for Multiprocessor Streaming Applications , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[22]  Uwe Schwiegelshohn,et al.  Theory and Practice in Parallel Job Scheduling , 1997, JSSPP.

[23]  Wayne H. Wolf The future of multiprocessor systems-on-chips , 2004, Proceedings. 41st Design Automation Conference, 2004..

[24]  Peter Marwedel,et al.  An Algorithm for Hardware/Software Partitioning Using Mixed Integer Linear Programming , 1997, Des. Autom. Embed. Syst..

[25]  Martin Grajcar Genetic list scheduling algorithm for scheduling and allocation on a loosely coupled heterogeneous multiprocessor system , 1999, DAC '99.

[26]  Petru Eles,et al.  Scheduling and mapping of conditional task graph for the synthesis of low power embedded systems , 2003 .

[27]  Izidor Gertner,et al.  On the Complexity of Scheduling Problems for Parallel/Pipelined Machines , 1989, IEEE Trans. Computers.

[28]  Petru Eles,et al.  Cosynthesis of energy-efficient multimode embedded systems with consideration of mode-execution probabilities , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[29]  Niraj K. Jha,et al.  MOGAC: a multiobjective genetic algorithm for the co-synthesis of hardware-software embedded systems , 1997, ICCAD 1997.

[30]  Guy Gogniat,et al.  Communication synthesis and HW/SW integration for embedded system design , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[31]  Milind Girkar,et al.  The hierarchical task graph as a universal intermediate representation , 2007, International Journal of Parallel Programming.

[32]  Nikil D. Dutt,et al.  Integrating Physical Constraints in HW-SW Partitioning for Architectures With Partial Dynamic Reconfiguration , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[33]  Gang Wang,et al.  Application partitioning on programmable platforms using the ant colony optimization , 2006, J. Embed. Comput..

[34]  Wayne H. Wolf,et al.  TGFF: task graphs for free , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[35]  Gianluca Palermo,et al.  Prototyping pipelined applications on a heterogeneous FPGA multiprocessor virtual platform , 2009, 2009 Asia and South Pacific Design Automation Conference.

[36]  Gang Wang,et al.  Ant Colony Optimizations for Resource- and Timing-Constrained Operation Scheduling , 2007, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[37]  Witold Pedrycz,et al.  Genetic algorithms for hardware-software partitioning and optimal resource allocation , 2007, J. Syst. Archit..

[38]  Soonhoi Ha,et al.  Efficient exploration of on-chip bus architectures and memory allocation , 2004, International Conference on Hardware/Software Codesign and System Synthesis, 2004. CODES + ISSS 2004..

[39]  Petru Eles,et al.  Scheduling and mapping of conditional task graphs for the synthesis of low power embedded systems , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[40]  Kent Wilken,et al.  Optimal instruction scheduling using integer programming , 2000, PLDI.

[41]  J.G.F. Coutinho,et al.  Optimising multi-loop programs for heterogeneous computing systems , 2009, 2009 5th Southern Conference on Programmable Logic (SPL).

[42]  Marco Dorigo,et al.  Ant colony optimization , 2006, IEEE Computational Intelligence Magazine.

[43]  S. Beaty Genetic Algorithms versus Tabu Search for Instruction Scheduling , 1993 .

[44]  Yuan Xie,et al.  Allocation and scheduling of conditional task graph in hardware/software co-synthesis , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[45]  Gerard O'Regan Texas Instruments , 1964, Nature.

[46]  Niraj K. Jha,et al.  MOGAC: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[47]  Christian Haubelt,et al.  SystemCoDesigner: Automatic design space exploration and rapid prototyping from behavioral models , 2008, 2008 45th ACM/IEEE Design Automation Conference.