Addressing failures in exascale computing