Unified fault-tolerance framework for hybrid task-parallel message-passing applications. (September 2018)