Thumbnail Image
🇬🇧

Task-Level Checkpointing and Localized Recovery to Tolerate Permanent Node Failures for Nested Fork–Join Programs in Clusters

Exascale supercomputers consist of millions of processing units, and this number is still growing. Therefore, hardware failures, such as permanent node failures, become increasingly frequent. They can be tolerated with system-level Checkpoint/Restart, which saves the whole application state transparently and, if needed, restarts the application from the saved state; or with application-level checkpointing, which saves only relevant data via explicit calls in the program. The former approach requires no additional programming expense, whereas the latter is more efficient and allows to continue program execution after failures on the intact resources (localized shrinking recovery). An increasingly popular programming paradigm is asynchronous many-task (AMT) programming. Here, programmers identify parallel tasks, and a runtime system assigns the tasks to worker threads. Since tasks have clearly defined interfaces, the runtime system can automatically extract and save their interface data. This approach, called task-level checkpointing (TC), combines the respective strengths of system-level and application-level checkpointing. AMTs come in many variants, and so far, TC has only been applied to a few, rather simple variants. This paper considers TC for a different AMT variant: nested fork–join (NFJ) programs that run on clusters of multicore nodes under work stealing. We present the first TC scheme for this setting. It performs a localized shrinking recovery and can handle multiple node failures. In experiments with four benchmarks, we observed execution time overheads of around 44 % at 1536 workers, and negligible recovery costs. Additionally, we developed and experimentally validated a prediction model for the running times of the scheme.

Sponsor
Gefördert im Rahmen des Projekts DEAL
Citation
In: SN Computer Science Volume 5 / (2024-03-13) , S. ; eissn:2661-8907
Collections
Rights

Creative Commons license

Except where otherwised noted, this item's license is described as Namensnennung 4.0 International
@article{doi:10.17170/kobra-202403149779,
  author    ={Reitz, Lukas and Fohry, Claudia},
  title    ={Task-Level Checkpointing and Localized Recovery to Tolerate Permanent Node Failures for Nested Fork–Join Programs in Clusters},
  keywords ={004 and Programmierung and Fehlertoleranz and Fixpunkt  and Cluster},
  copyright  ={http://creativecommons.org/licenses/by/4.0/},
  language ={en},
  journal  ={SN Computer Science},
  year   ={2024-03-13}
}