Abstract
Emerging high-performance architectures are anticipated to contain unreliable components that may exhibit soft errors, which silently corrupt the results of computations. Full detection and masking of soft errors is challenging, expensive and, for some applications, unnecessary. For example, approximate computing applications (such as multimedia processing, machine learning and big data analytics) can often naturally tolerate soft errors.In this chapter, we demonstrate how a programming language, Rely, enables developers to reason about and verify the quantitative reliability of an application – namely, the probability that it produces the correct result when executed on unreliable hardware. Rely leverages a static quantitative reliability analysis that verifies quantitative requirements on the reliability of an application, enabling a developer to perform sound and verified reliability engineering.
Original language | English (US) |
---|---|
Title of host publication | Foundations of Probabilistic Programming |
Publisher | Cambridge University Press |
Pages | 533-568 |
Number of pages | 36 |
ISBN (Electronic) | 9781108770750 |
ISBN (Print) | 9781108488518 |
DOIs | |
State | Published - Jan 1 2020 |
Keywords
- Probabilistic verification
- Reliability
- Unreliable hardware
ASJC Scopus subject areas
- General Computer Science