New replication technique cuts SDC overhead to 0.5% per failure
Researchers protect dynamic task graphs with minimal runtime cost
A new paper from Rüdiger Nather, Claudia Fohry, and Mia Reitz tackles a growing problem in distributed computing: Silent Data Corruptions (SDCs), where hardware faults produce incorrect results without detection. As computational problems scale, SDCs become more likely, and traditional replication strategies struggle with dynamic task systems that spawn tasks at runtime and communicate via C++11-style promises and futures. The team proposes a technique that closely couples original and replica computations by cross-validating all outgoing effects when interacting with the runtime system. Unlike static approaches, this method tracks dynamic data dependencies and selectively recomputes only the affected tasks, reducing unnecessary overhead.
The approach was implemented in the ItoyoriFBC runtime system and tested with Fibonacci and emulated H-matrix LU decomposition benchmarks. Results show that despite full replication (running every task twice), failure-free running times increased by less than a factor of two. This surprisingly low overhead is attributed to improved load balancing opportunities from the higher number of tasks. When a failure does occur, correction costs only about 0.5% of the overall running time per SDC. The work is particularly relevant for large-scale clusters running asynchronous many-task runtimes, where dynamic task graphs are the norm.
- Cross-validates all outgoing effects when tasks interact with the runtime, enabling precise tracking of dynamic dependencies
- Implemented in ItoyoriFBC runtime; achieves <2x overhead in failure-free time despite full replication
- Failure correction overhead is only ~0.5% of total runtime per SDC event
Why It Matters
Enables reliable large-scale distributed computing without crippling replication costs, critical for exascale and HPC workloads.