Dharma: Distributed asynchronous adaptive resilient management of applications.