Abstract
This paper presents a framework and its techniques that can detect various types of runtime errors and failures in MPI programs. The presented framework offloads its detection techniques to an external device (e.g., extension card). By developing intelligence on the normal behavioral and semantic execution patterns of monitored parallel threads, the presented external error detectors can accurately and quickly detect errors and failures. This architecture allows us to use powerful detectors without directly using the computing power of the monitored system. The separation of hardware of the monitored and monitoring systems offers an extra advantage in terms of system reliability. We have prototyped our system on a parallel computer system by using an FPGA-based PCI extension card as a monitoring device. We have conducted a fault injection experiment to evaluate the presented techniques using eight MPI-based parallel programs. The techniques cover ∼98.5% of faults, on average. The average performance overhead is 1.8% for techniques that detect crash and hang failures and 6.6% for techniques that detect SDC failures.
Original language | English (US) |
---|---|
Pages | 489-500 |
Number of pages | 12 |
DOIs | |
State | Published - Oct 7 2013 |
Event | 27th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2013 - Boston, MA, United States Duration: May 20 2013 → May 24 2013 |
Other
Other | 27th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2013 |
---|---|
Country/Territory | United States |
City | Boston, MA |
Period | 5/20/13 → 5/24/13 |
Keywords
- Failure detection
- fault injection
- parallel program reliability
ASJC Scopus subject areas
- Software