Prof. Brett Meyer (McGill University, Canada)
Recently, the combination of semiconductor manufacturing technology scaling and pressure to reduce semiconductor systemcosts and power consumption has resulted in the development of computer systems responsible for executing a mix ofsafety-critical and non-critical tasks. However, such systems are poorly utilized if lockstep execution forces all processor coresto execute the same task even when not executing safety-critical tasks. Execution fingerprinting has emerged as analternative to n-modular redundancy for verifying redundant execution without requiring that all cores execute the same taskor even execute redundant tasks concurrently. Fingerprinting takes a bit stream characterizing the execution of a task andcompresses it into a single, fixed-width word or fingerprint.
Fingerprinting has several key advantages. First, it reduces redundancy-checking bandwidth by compressing changes toexternal state into a single, fixed-width word. Second, it reduces error detection latency by capturing and exposingintermediate operations on faulty data. Third, it naturally supports the design of mixed criticality systems by making dual-,triple-, and n-modular redundancy available without requiring significant architectural changes. Fourth, while it can’tguarantee perfect error detection, error detection probabilities and latencies can be tuned to a particular application.Together, these advantages translate to improved performance for mixed-criticality systems.
In this talk, I will describe fingerprinting in safety-critical systems and explore the various trade-offs inherent in itsapplication at the architectural level and choices related to fingerprinting subsystem design, including: (a) determining whatapplication data to compress, as a function of error detection probability and latency, and (b) identifying a correspondingfingerprinting circuit implementation.