A Logic-Based Benders Decomposition Approach for Mapping Applications on Heterogeneous Multicore Platforms

The development of efficient methods for mapping applications on heterogeneous multicore platforms is a key issue in the field of embedded systems. In this article, a novel approach based on the Logic-Based Benders decomposition principle is introduced for mapping complex applications on these platforms, aiming at optimizing their execution time. To provide optimal solutions for this problem in a short time, a new hybrid model that combines Integer Linear Programming (ILP) and Constraint Programming (CP) models is introduced. Also, to reduce the complexity of the model and its solution time, a set of novel techniques for generating additional constraints called Benders cuts is proposed. An extensive set of experiments has been performed in which synthetic applications described by Directed Acyclic Graphs (DAGs) were mapped to a number of heterogeneous multicore platforms. Moreover, experiments with DAGs that correspond to two real-life applications have also been performed. Based on the experimental results, it is proven that the proposed approach outperforms the pure ILP model in terms of the solution time and quality of the solution. Specifically, the proposed approach is able to find an optimal solution within a time limit of 2 hours in the vast majority of performed experiments, while the pure ILP model fails. Also, for the cases where both methods fail to find an optimal solution within the time limit, the solution of the proposed approach is systematically better than the solution of the ILP model.

[1]  Lothar Thiele,et al.  Mapping Applications to Tiled Multiprocessor Embedded Systems , 2007, Seventh International Conference on Application of Concurrency to System Design (ACSD 2007).

[2]  Michael Engel,et al.  Automatic Extraction of pipeline parallelism for embedded heterogeneous multi-core platforms , 2013, 2013 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES).

[3]  Jürgen Becker,et al.  A cycle-approximate, mixed-ISA simulator for the KAHRISMA architecture , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[4]  George Theodoridis,et al.  An integer linear programming model for mapping applications on hybrid systems , 2009, IET Comput. Digit. Tech..

[5]  François Charot,et al.  Constraint Programming Approach to Reconfigurable Processor Extension Generation and Application Compilation , 2012, TRETS.

[6]  John N. Hooker,et al.  Integrated methods for optimization , 2011, International series in operations research and management science.

[7]  Dimitrios Kritharidis,et al.  Compiling Scilab to high performance embedded multicore systems , 2013, Microprocess. Microsystems.

[8]  Rizos Sakellariou,et al.  DAG Scheduling Using a Lookahead Variant of the Heterogeneous Earliest Finish Time Algorithm , 2010, 2010 18th Euromicro Conference on Parallel, Distributed and Network-based Processing.

[9]  Xiaobo Sharon Hu,et al.  Temperature-Aware Scheduling and Assignment for Hard Real-Time Applications on MPSoCs , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[10]  G LoweDavid,et al.  Distinctive Image Features from Scale-Invariant Keypoints , 2004 .

[11]  George Theodoridis,et al.  A Hybrid ILP-CP Model for Mapping Directed Acyclic Task Graphs to Multicore Architectures , 2014, 2014 IEEE International Parallel & Distributed Processing Symposium Workshops.

[12]  Laurence A. Wolsey,et al.  Integer Programming and Constraint Programming in Solving a Multi-Machine Assignment Scheduling Problem With Deadlines and Release Dates , 2003, INFORMS J. Comput..

[13]  Krzysztof Kuchcinski,et al.  Constraints-driven scheduling and resource assignment , 2003, TODE.

[14]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[15]  John N. Hooker,et al.  Planning and Scheduling by Logic-Based Benders Decomposition , 2007, Oper. Res..

[16]  Hadrien Cambazard,et al.  Decomposition and Learning for a Hard Real Time Task Allocation Problem , 2004, CP.

[17]  Michael Engel,et al.  ILP-based Memory-Aware Mapping Optimization for MPSoCs , 2012, 2012 IEEE 15th International Conference on Computational Science and Engineering.

[18]  Vikas Kumar,et al.  Task Scheduling in Multiprocessor System Using Genetic Algorithm , 2010, 2010 Second International Conference on Machine Learning and Computing.

[19]  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).

[20]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[21]  Dharma P. Agrawal,et al.  A task duplication based scheduling algorithm for heterogeneous systems , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[22]  Luca Benini,et al.  A Fast and Accurate Technique for Mapping Parallel Applications on Stream-Oriented MPSoC Platforms with Communication Awareness , 2007, International Journal of Parallel Programming.

[23]  P. Chitra,et al.  Modified genetic algorithm for multiobjective task scheduling on heterogeneous computing system , 2011, Int. J. Inf. Technol. Commun. Convergence.

[24]  Radu Marculescu,et al.  Energy- and performance-aware mapping for regular NoC architectures , 2005, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[25]  Celso C. Ribeiro,et al.  Multiprocessor scheduling under precedence constraints: Polyhedral results , 2006, Discret. Appl. Math..

[26]  Luca Benini,et al.  Optimal resource allocation and scheduling for the CELL BE platform , 2011, Ann. Oper. Res..

[27]  Pascal Van Hentenryck,et al.  Hybrid optimization : the ten years of CPAIOR , 2011 .

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

[29]  Oliver Sinnen,et al.  Task Scheduling for Parallel Systems (Wiley Series on Parallel and Distributed Computing) , 2007 .

[30]  Kurt Keutzer,et al.  A Decomposition-based Constraint Optimization Approach for Statically Scheduling Task Graphs with Communication Delays to Multiprocessors , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[31]  J. Hooker,et al.  Logic-based Benders decomposition , 2003 .

[32]  Ishfaq Ahmad,et al.  On Exploiting Task Duplication in Parallel Program Scheduling , 1998, IEEE Trans. Parallel Distributed Syst..

[33]  Emmanuel Jeannot,et al.  Comparative Evaluation Of The Robustness Of DAG Scheduling Heuristics , 2008, CoreGRID Integration Workshop.

[34]  Christos T. Maravelias,et al.  A decomposition framework for the scheduling of single- and multi-stage processes , 2006, Comput. Chem. Eng..

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

[36]  Oliver Sinnen,et al.  Task Scheduling for Parallel Systems , 2007, Wiley series on parallel and distributed computing.

[37]  Ted K. Ralphs,et al.  Integer and Combinatorial Optimization , 2013 .