April 1997 | Mei-Chen Hsueh, Timothy K. Tsai, and Ravishankar K. Iyer
The chapter discusses fault injection techniques and tools used to evaluate the dependability of computer systems. Fault injection is crucial for understanding and mitigating potential failures in both hardware and software environments. The authors highlight the importance of experimental approaches, such as simulation-based and prototype-based fault injection, to study system behavior under fault conditions. These methods help identify bottlenecks, assess fault tolerance mechanisms, and evaluate performance loss.
The chapter outlines different phases and techniques for fault injection, including hardware and software methods. Hardware fault injection involves physical contact with the target system to introduce faults, while software fault injection uses software modifications to inject errors. Key tools like Messaline, FIST, and MARS are discussed, each with its unique capabilities and applications.
Software fault injection is gaining popularity due to its flexibility and lower cost compared to hardware methods. It can target applications and operating systems, but it has limitations in accessing certain fault locations and may introduce perturbations to the workload. The chapter also covers compile-time and runtime injection methods, emphasizing the trade-offs between precision and flexibility.
Overall, the chapter provides a comprehensive overview of fault injection techniques, their implementation, and their applications in evaluating system dependability.The chapter discusses fault injection techniques and tools used to evaluate the dependability of computer systems. Fault injection is crucial for understanding and mitigating potential failures in both hardware and software environments. The authors highlight the importance of experimental approaches, such as simulation-based and prototype-based fault injection, to study system behavior under fault conditions. These methods help identify bottlenecks, assess fault tolerance mechanisms, and evaluate performance loss.
The chapter outlines different phases and techniques for fault injection, including hardware and software methods. Hardware fault injection involves physical contact with the target system to introduce faults, while software fault injection uses software modifications to inject errors. Key tools like Messaline, FIST, and MARS are discussed, each with its unique capabilities and applications.
Software fault injection is gaining popularity due to its flexibility and lower cost compared to hardware methods. It can target applications and operating systems, but it has limitations in accessing certain fault locations and may introduce perturbations to the workload. The chapter also covers compile-time and runtime injection methods, emphasizing the trade-offs between precision and flexibility.
Overall, the chapter provides a comprehensive overview of fault injection techniques, their implementation, and their applications in evaluating system dependability.