The Architectural Vulnerability Factor (AVF) of a hardware structure is the probability that a fault in the structure will affect the output of a program. AVF captures both microarchitectural and architectural fault masking effects; therefore, AVF measurements cannot generate insight into the vulnerability of software independent of hardware. To evaluate the behavior of software in the presence of hardware faults, we must isolate the software-dependent (architecture-level masking) portion of AVF from the hardware-dependent (microarchitecture-level masking) portion, providing a quantitative basis to make reliability decisions about software independent of hardware. In this work, we demonstrate that the new Program Vulnerability Factor (PVF) metric provides such a basis: PVF captures the architecture-level fault masking inherent in a program, allowing software designers to make quantitative statements about a program's tolerance to soft errors. PVF can also explain the AVF behavior of a program when executed on hardware; PVF captures the workload-driven changes in AVF for all structures. Finally, we demonstrate two practical uses for PVF: choosing algorithms and compiler optimizations to reduce a program's failure rate.
As AVF represents the combined effect of the workload and its interaction with the hardware, REF attempt to decouple the software component of AVF from the hardware component through a microarchitecture-independent metric called Program Vulnerability Factor (PVF).
Eliminating microarchitectural dependency from Architectural Vulnerability
2009 IEEE 15th International Symposium on High Performance Computer Architecture
2009 IEEE 15th International Symposium on High Performance Computer Architecture
Computer Science