  With the growing scale and complexity of high-performance computing (HPC)
systems, resilience solutions that ensure continuity of service despite
frequent errors and component failures must be methodically designed to balance
the reliability requirements with the overheads to performance and power.
Design patterns enable a structured approach to the development of resilience
solutions, providing hardware and software designers with the building block
elements for the rapid development of novel solutions and for adapting existing
technologies for emerging, extreme-scale HPC environments. In this paper, we
develop analytical models that enable designers to evaluate the reliability and
performance characteristics of the design patterns. These models are
particularly useful in building a unified framework that analyzes and compares
various resilience solutions built using a combination of patterns.
