A Comparison of Application-Level Fault Tolerance Schemes for Task Pools

被引:8
|
作者
Posner, Jonas [1 ]
Reitz, Lukas [1 ]
Fohry, Claudia [1 ]
机构
[1] Univ Kassel, Res Grp Programming Languages Methodol, Kassel, Germany
关键词
HPC programming languages; Libraries and tools; DESIGN;
D O I
10.1016/j.future.2019.11.031
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Fault tolerance is an important requirement for successful program execution on exascale systems. The common approach, checkpointing, regularly saves a program's state, such that the execution can be restarted after permanent node failures. Checkpointing is often performed on system level, but its deployment on application level can reduce the running time overhead. The drawback of application-level checkpointing is a higher programming expense. It pays off if the checkpointing is applied to reusable patterns. We consider task pools, which exist in many variants. The paper supposes that tasks are generated dynamically and are free of side effects. Further, the final result must be computed from individual task results by reduction. Moreover, the pools must be distributed with private queues, and adopt work stealing. The paper describes and evaluates three application-level fault tolerance schemes for task pools. All use uncoordinated checkpointing and regularly save information in a resilient store. The first scheme (called AllFT) saves descriptors of all open tasks; the second scheme (called IncFT) selectively and incrementally saves only part of them; and the third scheme (called LogFT) logs stealing events and writes checkpoints in parallel to task processing. All schemes have been implemented by extending the Global Load Balancing (GLB) library of the "APGAS for Java" programming system. In experiments with the UTS, NQueens, and BC benchmarks with up to 672 workers, the running time overhead during failure-free execution, compared to a non-resilient version of GLB, was typically below 6%. The recovery cost was negligible, and there was no clear winner among the three schemes. A more detailed performance analysis with synthetic benchmarks revealed that IncFT and LogFT are superior in scenarios with large task descriptors. (C) 2019 Elsevier B.V. All rights reserved.
引用
收藏
页码:119 / 134
页数:16
相关论文
共 50 条
  • [1] Application-level fault tolerance as a complement to system-level fault tolerance
    Haines, Joshua
    Lakamraju, Vijay
    Koren, Israel
    Krishna, C. Mani
    Journal of Supercomputing, 2000, 16 (1-2): : 53 - 68
  • [2] Application-level fault tolerance as a complement to system-level fault tolerance
    Haines, J
    Lakamraju, V
    Koren, I
    Krishna, CM
    JOURNAL OF SUPERCOMPUTING, 2000, 16 (01): : 53 - 68
  • [3] Application-Level Fault Tolerance as a Complement to System-Level Fault Tolerance
    Joshua Haines
    Vijay Lakamraju
    Israel Koren
    C. Mani Krishna
    The Journal of Supercomputing, 2000, 16 : 53 - 68
  • [4] A survey of linguistic structures for application-level fault tolerance
    De Florio, Vincenzo
    Blondia, Chris
    ACM COMPUTING SURVEYS, 2008, 40 (02)
  • [5] Application-level correctness and its impact on fault tolerance
    Li, Xuanhua
    Yeung, Donald
    THIRTEENTH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, PROCEEDINGS, 2007, : 181 - +
  • [6] Application-level fault tolerance in the orbital thermal imaging spectrometer
    Ciocca, E
    Koren, I
    Koren, Z
    Krishna, CM
    Katz, DS
    10TH IEEE PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING, PROCEEDINGS, 2004, : 43 - 48
  • [7] Application-Level Fault-Tolerance Solutions for Grid Computing
    Diaz, Daniel
    Pardo, Xoan C.
    Martin, Maria J.
    Gonzalez, Patricia
    CCGRID 2008: EIGHTH IEEE INTERNATIONAL SYMPOSIUM ON CLUSTER COMPUTING AND THE GRID, VOLS 1 AND 2, PROCEEDINGS, 2008, : 554 - 559
  • [8] Bungie: Improving Fault Tolerance via Extensible Application-Level Protocols
    Christie, Samuel H., V
    Chopra, Amit Khushwant
    Singh, Munindar P.
    COMPUTER, 2021, 54 (05) : 44 - 53
  • [9] Application-Level Fault Tolerance in Real-Time Embedded Systems
    Afonso, Francisco
    Silva, Carlos
    Tavares, Adriano
    Montenegro, Sergio
    2008 INTERNATIONAL SYMPOSIUM ON INDUSTRIAL EMBEDDED SYSTEMS, 2008, : 126 - +
  • [10] CRAFT: A Library for Easier Application-Level Checkpoint/Restart and Automatic Fault Tolerance
    Shahzad, Faisal
    Thies, Jonas
    Kreutzer, Moritz
    Zeiser, Thomas
    Hager, Georg
    Wellein, Gerhard
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2019, 30 (03) : 501 - 514