Mapping and Scheduling Hard Real Time Applications on Multicore Systems - The ARGO Approach

Using multi-core architectures for embedded time-critical systems creates a big challenge for developers due to the complexity of the underline mapping and scheduling problem. H2020 ARGO project [2] proposes a tool flow to minimize multi-core applications development time while guaranteeing real-time performance. In this paper, we provide an overview of ARGO tool flow and we focus on the heuristic approach of solving the worst case execution time aware (WCET) mapping and scheduling problem on hierarchical task graphs. Examples from two real applications from the aerospace and image processing domains are presented.

[1]  Umut Durak,et al.  WCET-aware parallelization of model-based applications for multi-cores: The ARGO approach , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[2]  Peter Marwedel,et al.  WCET-aware scheduling optimizations for multi-core real-time systems , 2014, 2014 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XIV).

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

[4]  Ishfaq Ahmad,et al.  Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors , 1996, IEEE Trans. Parallel Distributed Syst..

[5]  François Charot,et al.  GeCoS: A framework for prototyping custom hardware design flows , 2013, 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM).

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

[7]  George Theodoridis,et al.  A hybrid approach for mapping and scheduling on heterogeneous multicore systems , 2016, 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS).

[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]  Salim Hariri,et al.  Task scheduling algorithms for heterogeneous processors , 1999, Proceedings. Eighth Heterogeneous Computing Workshop (HCW'99).

[10]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[11]  Jürgen Becker,et al.  A Compilation- and Simulation-Oriented Architecture Description Language for Multicore Systems , 2012, 2012 IEEE 15th International Conference on Computational Science and Engineering.

[12]  George Theodoridis,et al.  A Logic-Based Benders Decomposition Approach for Mapping Applications on Heterogeneous Multicore Platforms , 2016, TECS.

[13]  Guang Gong,et al.  Design and Implementation of Warbler Family of Lightweight Pseudorandom Number Generators for Smart Devices , 2016, ACM Trans. Embed. Comput. Syst..