Joseph Paturel, Simon Rokicki, Olivier Sentieys
- Univ. Rennes, Inria, IRISA
Joseph Paturel, Simon Rokicki, Olivier Sentieys Univ. Rennes, Inria, - - PowerPoint PPT Presentation
Joseph Paturel, Simon Rokicki, Olivier Sentieys Univ. Rennes, Inria, IRISA Why care about Fault Tolerance? Modern technologies Lower node capacitances Denser layouts High SET sensitivity Increased frequencies Energy efficiency
Joseph Paturel, Simon Rokicki, Olivier Sentieys
2
– Lower node capacitances – Denser layouts – Increased frequencies
– Lower supply and threshold voltages
High SET sensitivity
3
– Only injects single-bit faults – Does not model the microarchitecture – Ignores combinational logic
– Need to model microarchitecture – Need to consider combinational logic [1]
– Need to model MBUs as well as SEUs
[1] N. N. Mahatme et al, «Comparison of Combinational and Sequential Error Rates for a Deep Submicron Process», IEEE Trans. On Nuclear Science, Dec. 2011
4
– From gate to microarchitecure – MBU-aware – Fast and accurate
6
– Maintain two coherent models:
ISS RTL Simulation RTL Synthesis SW Validation HW Design & Verification Compiler Physical Design
Compiled code
7
– Maintain two coherent models:
– Design the processor as well as its software validation flow from a single high-level model
ISS SW Validation HW Design & Verification Compiler RTL Simulation RTL Synthesis Physical Design HLS C++ Model
Compiled SW code Compiled ISS
8
– 32-bit RISC-V instruction set RV32IM – In-order 5-stage pipeline micro-architecture
9
RegFile Instruction Cache Branch Unit Fetch Decode
ALU Data Cache
Mem Fetch Decode Execute Memory Write Back Forward
10
core.c C compiler Xilinx Vivado HLS Mentor Catapult HLS Simulator rtl.v FPGA Flow ASIC Flow Bitstream Floor- plan
Simulation performance
What about quality of the hardware?
11
6% 11% 36% 5% 42%
Area
Fetch Decode Execute Memory Writeback (includes RF)
12
Advantages
productivity, maintainability, and flexibility of the design
can be easily modified, expanded and verified
12
Limitations
features (e.g. multi-cycle
synthesizing large multi-core systems…
14
.v/.vhdl Gate-level Analysis Error Patterns uArch Injection Workload Vulnerability Metrics C++ Model HLS C++ Compilation
15
Error probability Bit position
gate-level netlist
Gate-level netlist Technology library Fault injector Parameters:
Error insertions Input generation Logging
Log
TestBench
Gate-level netlist
.v/.vhdl Gate- level Analysis Error Patterns
16
: : : : .v/.vhdl Gate- level Analysis Error Patterns
17
MBUs 5.1% SEUs 94.9% Number of erroneous bits in output register
ALU
Opcode Forwarding, etc.
Output register per bit error probability
1 Million injections
18
19
injection of gate-level fault patterns
the different pipeline stages
– Crashes and Hangs – ISM, AOM, ISM & AOM
ISM: Internal State Mismatch AOM: Application Output Mismatch Error Patterns uArch Injection Workload Vulnerability Metrics
20
0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 Masked Crash + Hang ISM + AOM Masked Crash + Hang ISM + AOM Masked Crash + Hang ISM + AOM Masked Crash + Hang ISM + AOM matmul qsort blowfish average
Standard Proposed
21
– more than 50% critical errors (crashes & hangs)
– From gate to microarchitecure – Conscious of MBU patterns and error probability – Fast and accurate
22
from a single C++ code
– Dynamic Binary Translation, Non-Volatile Processor, Fault-Tolerant Multicore, etc.
– Automatic source-to-source transformations for HLS
– Support for floating point extension – RTOS Support (process, interrupt controller, peripherals) – Multi-core system with cache coherency (Q4 2019) – Many-core system with NOC (2020)
23
https://gitlab.inria.fr/srokicki/Comet