Towards Distributed Software Resilience in Asynchronous Many-Task Programming Models
Nikunj Gupta, Jackson R. Mayo, Adrian S. Lemoine, Hartmut Kaiser

TL;DR
This paper explores designing resilient applications in asynchronous many-task programming models, focusing on local and distributed fault tolerance techniques like task replication, replay, and algorithm-based checks, using HPX as a prototype.
Contribution
It introduces new resiliency APIs for AMTs, including task replication, replay, and ABFT, and evaluates their performance on real-world and synthetic applications.
Findings
Resiliency mechanisms add minimal overhead mostly from task replay and data movement.
Task replay and replication effectively improve fault tolerance.
Resiliency overhead is manageable for critical applications.
Abstract
Exceptions and errors occurring within mission critical applications due to hardware failures have a high cost. With the emerging Next Generation Platforms (NGPs), the rate of hardware failures will likely increase. Therefore, designing our applications to be resilient is a critical concern in order to retain the reliability of results while meeting the constraints on power budgets. In this paper, we discuss software resilience in AMTs at both local and distributed scale. We choose HPX to prototype our resiliency designs. We implement two resiliency APIs that we expose to the application developers, namely task replication and task replay. Task replication repeats a task n-times and executes them asynchronously. Task replay reschedules a task up to n-times until a valid output is returned. Furthermore, we expose algorithm based fault tolerance (ABFT) using user provided predicates…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Cloud Computing and Resource Management · Radiation Effects in Electronics
