The ARGO Approach

Increasing performance and reducing cost, while maintaining safety levels and programmability are the key demands for embedded and cyber-physical systems in European domains, e.g. aerospace, automation, and automotive. For many applications, the necessary performance with low energy consumption can only be provided by customized computing platforms based on heterogeneous many-core architectures. However, their parallel programming with time-critical embedded applications suffers from a complex toolchain and programming process.

The ARGO (WCET-Aware Parallelization of Model-Based Applications for Heterogeneous Parallel Systems) research project addresses this challenge with a holistic approach for programming heterogeneous multi- and many-core architectures using automatic parallelization of model-based real-time applications. ARGO enhances WCET-aware automatic parallelization by a cross-layer programming approach combining automatic tool-based and user-guided parallelization to reduce the need for expertise in programming parallel heterogeneous architectures. The ARGO approach is assessed and demonstrated by prototyping comprehensive time-critical applications from both aerospace and industrial automation domains on customized heterogeneous many-core platforms.

The challenging research and innovation action is achieved by the unique ARGO consortium that brings together industry, leading research institutes and universities. High class SMEs such as Recore Systems, Scilab Enterprises, AbsInt GmbH and emmtrix Technologies GmbH contribute their diverse know-how in heterogeneous many-core technologies, model-based design environments and WCET calculation. The academic partners contribute their outstanding expertise in code transformations, automatic parallelization and system-level WCET analysis.

ARGO Tool-Flow

The ARGO tool-chain translates model-based Scilab/Xcos applications into multi-core optimized C code with guaranteed real-time constraints. This is achieved by developing WCET aware automatic parallelization algorithms and a WCET analysis tool for heterogeneous multi-core architectures and parallel programs. Furthermore ARGO aims to provide a cross-layer programming interface, which allows end users to interactively control the automated parallelization process as detailed as needed.

The following figure shows an overview of the ARGO tool-flow:

ARGO_Toolflow

More information can be found on the ARGO HiPEAC 2017 Poster: