CORDIS - Forschungsergebnisse der EU
CORDIS

Time, Energy and security Analysis for Multi/Many-core heterogenous PLAtforms

Periodic Reporting for period 2 - TeamPlay (Time, Energy and security Analysis for Multi/Many-core heterogenous PLAtforms)

Berichtszeitraum: 2019-07-01 bis 2021-06-30

As mobile applications, the Internet of Things, and cyber-physical systems become more prevalent, so there is an increasing focus on energy efficiency of multicore computing applications. At the same time, traditional performance issues remain equally important. Increasingly, software designs need to find the best performance within some energy budget—often while also respecting real-time or other constraints, which may include security, data locality or system criticality— and while simultaneously optimising the usage of the available hardware resources. While parallel multi- core/manycore hardware can, in principle, ameliorate energy problems, and heterogeneous systems can help to find a good balance between performance and energy usage, at present there are no effective analyses beyond user-guided simulations that can reliably predict energy usage for parallel systems, whether alone or in combination with timing information. In order to create energy-efficient parallel software, programmers need to be actively engaged in decisions about energy usage, performance etc. rather than passively informed about their effects. This extends to design-time as well as to implementation-time and run-time. In order to address this fundamental challenge, TeamPlay takes a radically new approach: by exploiting new and emerging ideas that allow extra-functional properties to be deeply embedded within their programs, programmers can be empowered to directly treat energy usage, time, and other key system properties, as first-class citizens in their parallel software.

The TeamPlay project aimed to develop new, formally-motivated, techniques that allow execution time, energy usage, security (ETS), and other important non-functional properties (NFP) of parallel software to be treated effectively, and as first- class citizens. We build this into a toolbox to develop parallel software for low-energy systems, as required by the internet of things, cyber-physical systems etc. The TeamPlay approach allows programs to reflect directly on their own ETS, etc., as well as enables the developer to reason about both the functional and the NFP of their software at source code level.
Our success ensures significant progress on a pressing problem of major industrial importance: how to effectively manage energy consumption for parallel systems while maintaining the right balance with other important software metrics, including time, security, code size/complexity, etc. The project brings together leading industrial and academic experts in parallelism, energy modeling/transparency, worst-case execution time analysis, non-functional property analysis, compilation, security, and task coordination. Results are evaluated with industrial use cases taken from the computer vision, satellites, flying drones, medical domains.
Contract Specification Language (CSL), with novel annotations for components, GPU energy usage, security, and profiling-only code. Extension to expressiveness of assertions.
Capture annotations for ETS added to CSL.
Assertions provided for proofs over ETS properties.
First-Class CSL variables supported.
Regression models for GPU energy analysis.
Idris implementation of CSL framework.
Full abstract interpretation of ANSI C modelled in Idris to facilitate assertion proofs.
Non-ground assertions of ETS.
Integration with SMT/SAT solvers for Non-Ground assertions.
NFP integration.
Full semantics for CSL implementation and C based on algebraic theory.
Refactoring tool in Eclipse, to facilitate CSL programming.
Automated transformations of CSL to REEL.
Security transformations produced to combat side channel attacks, based on semantics modelled in Idris
Demonstrated on BEEBs benchmarks the Teamplay use-cases complete.
Integration of CSL framework into Eclipse front-end.
Support for coordination properties in CSL.

TeamPlay coordination language.
CECILE compilation infrastructure;
Code generators for Linux, YASMIN middleware and RTEMS;
YASMIN runtime environment for COTS-based systems;
ILPs and Heuristics for energy-aware scheduling of dependent real-time tasks on heterogeneous multi-core platforms;

Retargeting of WCC compiler for both LEON3 and Cortex-M0 architectures.
Common XML-based format to interchange energy-related information.
Integration of ABSINT's WCET analyser aiT, and EnergyAnalyser, and cycle-accurate instruction set simulator for ARM Cortex-M0 into WCC.
TeamPlay server to remotely experiment with WCC and aiT.
REEL annotations: interface between WCC compiler and Contract mechanisms for ETS.
Interface between WCC compiler and Coordination layer implemented via NFP files
Security tool chain (taint analyses, SecurityOptimizer, DataCollector, SecurityQuantifier) into WCC.
Multi-criterial optimizations (MCO): Scratchpad Memory Allocation optimizing WCET, schedulability and energy usage for ARM Cortex-M0, using ILP, evolutionary algorithms, and flower pollination
MCO successfully applied to Deep Learning and Camera Pill Use Cases
Time- and security-aware code optimization exploiting padding instructions.

Detailed micro-architectural timing model and comprehensive set of energy models for Arm Cortex-M0.
Prototyped static analysis tools aiT (for timing analysis) and EnergyAnalyzer (for energy analysis) for Arm Cortex-M0.
Power and energy models for the LEON3 platform, with novel dual-platform power modelling method.
Prototyped static analysis tool EnergyAnalyzer for LEON3.
Power profiler prototype tool powprofiler for dynamic system-level energy modelling and profiling.
Novel security metrics to quantify information leakage from side-channels.
New security analysis and optimisation tools to complement and extend the TeamPlay execution time and energy analyses.
aiT and EnergyAnalyzer for Arm Cortex-M0 prototypes and EnergyAnalyzer for LEON3 prototype available from AbsInt GmbH.
SecurityQuantifier tool into TeamPlay tool chain.
SecurityAnalyser tool that analyses software to assess security metrics: ongoing.

Demonstration scenarios to test TeamPlay toolchains.
Metrics for each use case and demonstrator.
Demonstration platforms.
Test environments.
Integration of TeamPlay toolchain into demonstrator.
Evaluation of TeamPlay developments into industrial demonstrators with pre-defined metrics
Evaluation of results obtained with TeamPlay toolchain and other industry specific solutions.
Develop new, formally-motivated, techniques that allow ETS to be treated effectively, and as first- class citizens in programs, through annotations and CSL.
We developed new models and new metrics for ETS.
We integrated this into a tool chain to develop software for low-energy systems
This allows programs to reflect directly on their own ETS, etc., as well as enables the developer to reason about both the functional and the NFP (ETs) of their software at source code level, and multi-criterial optimizations taking into accound NFP.
Industrial partners were able to integrate these in their tools.
aiT and EnergyAnalyzer for Arm Cortex-M0 prototypes and EnergyAnalyzer for LEON3 prototype are available from AbsInt GmbH.
TeamPlay logo