Skip to main content

High-Performance Real-time Architectures for Low-Power Embedded Systems

Periodic Reporting for period 2 - HERCULES (High-Performance Real-time Architectures for Low-Power Embedded Systems)

Reporting period: 2017-07-01 to 2018-12-31

The advent of commercial-of-the-shelf (COTS) heterogeneous multi-core platforms is opening up a series of opportunities in the embedded computing market. Integrating multiple computing element running at smaller frequencies allows obtaining impressive performance capabilities at a reduced power consumption. At the same time, new applications are being proposed integrating more and more functionalities in the objects commonly used for our daily activities, imposing a number of additional requirements to embedded systems designers:
- higher computing workloads, elaborating and fusing multiple sensor data;
- reduced power consumption, allowing smaller batteries and renewable power sources;
- quicker interaction with the environment, requiring a prompt elaboration of sensor data;
- higher criticality, replacing safety-critical human activities.
These converging needs call for “real-time embedded super-computing platforms” that are able to predictably provide real-time guarantees to applications running on top of next generation embedded platforms. These applications do not only require high performance at low power. They also need to provide predictable guarantees. Having impressive average performances with no guaranteed bounds on the response times of the critical computing activities is of little if no use to these applications.

Project HERCULES will provide the required technological infrastructure to obtain an order-of-magnitude improvement in the cost and power consumption of next generation real-time applications. It will develop an integrated framework to allow achieving predictable performance on top of cutting-edge heterogeneous CTOS multi-core platforms, implementing real-time scheduling techniques and execution models recently proposed in the research community. The framework will be applied to two innovative industrial use cases: a pioneering autonomous driving system for the automotive domain, and a visual recognition system for the avionic domain.
The activities of the project are split into 7 Work Packages (WP).
The five technical WPs are:
· WP1 – Applications: it will manage all the activities inherent to the targeted application use cases: requirements specification, parallelization and porting to the selected platform.
· WP2 – Heterogeneous multi-core platforms: it will select, characterize and optimize the reference hardware platforms for the project: one for the automotive use case, one for the avionics use case.
· WP3 - Parallel Programming Model: it explicitly aims at the third goal of HERCULES, i.e. to “provide a homogeneous programming interface to simplify the development of future real-time application”. To this end, it will select the programming model and develop the
related runtime support both at host level and at accelerator/global platform level.
· WP4 - Real-Time Operating Systems: it will develop the RTOS’s of the HERCULES framework: a real-time version of Linux at host-level and Erika Enterprise RTOS both at host and at accelerator level (provided the selected platform supports either DSP- or many-core-based acceleration). Finally, it will integrate both operating systems to allow predictable communication and timing isolation.
· WP5 - Scheduling and Schedulability Analysis: it will develop power- and memory-aware scheduling algorithms and execution models to predictably execute time-critical tasks at host and at accelerator level, achieving the second main goal of HERCULES: “obtain an order-of-magnitude improvement in the energy efficiency and cost of next generation real-time systems”.

The exploitation of the industrial-grade framework achieved according to the first main goal (G1) of the project will be organized within the activities of WP6 - Industrial Exploitation. Finally, WP7 - Management & Dissemination will be devoted to the project management and coordination, as well as to the dissemination of relevant scientific results to the academic and industrial communities.

In this initial phase, three important preliminary activities have been be performed:
o The characterization of the requirements of the two applications use cases addressed in the project (WP1).
o The selection of two representative hardware platforms, one for each use case (WP2).
o The selection and definition of the programming model adopted by the framework (WP3).
Achieving its ambitious targets will grant HERCULES a unique position in the real-time embedded market, where most of the industrial players are struggling to enhance application functionalities without sacrificing predictability. Notably, no similar product or service is available in the market to achieve real-time capabilities on the cutting-edge hardware technologies addressed in this project. Only few RTOS’s claim an efficient support for multi-core systems. By using HERCULES programming model and underlying RTOS support, applications will be able to run on heterogeneous multi-core systems in a hardware-agnostic way, allowing a “write once, run anywhere” approach that maximizes code portability and reuse. This capability is key to reduce the time-to-market, reducing at the same time the occurrence of performance and implementation pitfalls in the application development.

The target of HERCULES is to realize a framework that brings to practice some of the most promising research methods and techniques to provide real-time guarantees to executing applications. The “hardness” of such guarantees will be established during the project execution, with the intention of achieving the highest possible integrity level, compatibly to the project timespan. In other words, HERCULES real-time systems will be as hard as possible, given the limits of the available technological solutions and selected hardware and software baselines based on using Linux, COTS platforms and standard programming models. The hardness of the guarantees provided will be established by means of a sound schedulability analysis, trading-off timing precision with performance if needed.

Typical certification requirements for the timing integrity of the system will be taken into account when establishing and implementing the adopted execution models, isolation mechanisms, RTOS’s, scheduling algorithms and related schedulability analysis. This will include:
1. bound and profile the memory- and communication-related interference among the cores;
2. reduce unpredictable mechanisms in the execution model and RTOS;
3. implement shared resource protocols that allow avoiding deadlocks and race conditions;
4. achieve a proper timing isolation among different sub-systems (host and accelerators);
5. design lightweight runtimes with bounded and predictable offloading overhead;
6. enforce execution mechanisms to guarantee a granted share of memory bandwidth to critical activities;

All above design guidelines will allow the framework implementation to lend itself to an easier timing and schedulability analysis. We believe that the proposed scheduling methods and execution models, along with the related schedulability analysis, will provide meaningful material and evidences to allow starting pre-certification activities for at least a restricted subset of time-critical applications running on HERCULES framework.