-
HiPEAC, Bologna – January 2020
CERBERO: Challenges and Solutions
Self-Adaptation
-
Motivation: Systems such as Planetary Exploration Use Case
Self-Healing System for Planetary Exploration: • WHAT: FPGA based Robotic arm controller. • NEEDS: Self-healing and self-adaptive capabilities to adapt to harsh
environmental conditions
Tool Integration
Early Stage Design Space Exploration &
Components Deployment
Run-Time Computing Level
Adaptation
Multi-Objective Run-Time Optimisation
Increase productivity
Performance, energy, reliability, …
Need of lightweight tools and models
-
Triggers for Adaptation
ENVIRONMENTAL AWARENESS: Influence of the environment on the system. Sensors.
USER/EXTERNALLY-COMMANDED: System-User interaction. Human-machine interfaces.
SELF-AWARENESS: Internal status variation. Status monitors.
Planetary Exploration
Current arm position. Known obstacles.
Unknown obstacles.
Final position of the robotic arm.
Performance monitors (i.e. throughput).
Fault monitors. Consumed Energy.
-
Command Adaptation: Put in place the actions for the required adaptation
Estimate Performance/quality/ energy: runtime models
Analyse & Decide: Change task – Optimize - Repair
Formalization based on adaptation loop components
Sense the world (PHY): Context awareness Sense the system (CYB): Self-awareness
Sense and monitor
Estimate KPI
Decide to adapt
Produce adaptation…
… on an adaptable
Fabric
Adapt: Reconfigure the heterogenous and multi-level computing infrastructure. Multiple fabrics.
-
… but CERBERO style, and multi-layer
-
CYB runtime models (energy, performance)
1. Spider – (SW + MDC + A3) 2. Evolutionary JIT HW 3. Spider – Apollo
Self-adaptation loop in a nutshell. CERBERO Options
Papify (embedded) SW and HW PAPI components consistently used
Monitors
KPI estimation
Decide to adapt
Produce adaptation…
Adaptation Fabrics
1. SW components 2. MDC components 3. ARTICo3 components 4. Overlays for JIT HW composition
1. DPR (block, fine grain) 2. Virtual (mux-based) 3. LUT-based reconf. 4. Apollo – Polyhedral transformations
-
Design time /run-time tools for all fabrics
PREESM
SW
MDC
ARTICo3
Overlays
Design time exploration
ARTICo3 toolflow
MDC toolflow
IMPRESS
Spider
Run time adaptation
Spider MDC
Spider A3 runtime
Coarse grain
Scalability & fault tolerance
Fabric types
HW design
Deterministic
PAPIFY
Estimated KPIs
HW Overlay use cases
Evolutionary HW (bbNN)
Mixed-grain
PAPIFY
SW design
Polyhedral transf.
-
Tool support for Multi-Grain Adaptivity (ARTICo3 + MDC)
N:1
-
Tool support for Multi-Grain Adaptivity (ARTICo3 + MDC)
-
Tool support for Multi-Grain Adaptivity (ARTICo3 + MDC)
-
• WHO:
• SPIDER
• WHAT:
• Deploy applications in HW and SW fabrics on the fly on the available resources.
• WHY:
• Functional & Non-Functional Needs
• HOW:
• Parameterized Dataflow MoCs
• KPI Runtime Models
• Model of the Architecture
SPIDER
-
Evolutionary algorithm
BBNN Genetic
algorithm
Evolutionary JIT HW composition