WRATH: Workload Resilience Across Task Hierarchies in Task-based Parallel Programming Frameworks
Sicheng Zhou, Zhuozhao Li, Valérie Hayot-Sasson, Haochen Pan, Maxime Gonthier, J. Gregory Pauloski, Ryan Chard, Kyle Chard, Ian Foster
TL;DR
WRATH addresses resilience in task-based parallel programming by categorizing failures across four TBPP layers and deploying a distributed hierarchical monitoring system plus an intelligent resilience module that performs hierarchical retries. By moving beyond uniform retry strategies, WRATH enables targeted recovery actions based on root-cause analysis and resource context. The authors implement Wrath in Parsl, featuring a failure-categorization engine and a policy engine, and validate it with TaPS benchmarks under failure injection, achieving higher task success rates, lower time-to-failure, and modest overhead. This work demonstrates practical improvements in TBPP robustness and outlines directions for extending support to compiled languages and broader TBPP frameworks.
Abstract
Failures in Task-based Parallel Programming (TBPP) can severely degrade performance and result in incomplete or incorrect outcomes. Existing failure-handling approaches, including reactive, proactive, and resilient methods such as retry and checkpointing mechanisms, often apply uniform retry mechanisms regardless of the root cause of failures, failing to account for the unique characteristics of TBPP frameworks such as heterogeneous resource availability and task-level failures. To address these limitations, we propose WRATH, a novel systematic approach that categorizes failures based on the unique layered structure of TBPP frameworks and defines specific responses to address failures at different layers. WRATH combines a distributed monitoring system and a resilient module to collaboratively address different types of failures in real time. The monitoring system captures execution and resource information, reports failures, and profiles tasks across different layers of TBPP frameworks. The resilient module then categorizes failures and responds with appropriate actions, such as hierarchically retrying failed tasks on suitable resources. Evaluations demonstrate that WRATH significantly improves TBPP robustness, tripling the task success rate and maintaining an application success rate of over 90% for resolvable failures. Additionally, WRATH can reduce the time to failure by 20%-50%, allowing tasks that are destined to fail to be identified and fail more quickly.
