Periodic Reporting for period 2 - TeamPlay (Time, Energy and security Analysis for Multi/Many-core heterogenous PLAtforms)
Periodo di rendicontazione: 2019-07-01 al 2021-06-30
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.
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.
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.