An Efficient Fault-Tolerant Algorithm for Distributed Cloud Services
Jameela Al‐Jaroodi, Nader Mohamed, Klaithem Al Nuaimi · 2012
Several approaches for fault-tolerance in distributed systems were introduced; however, they require prior knowledge of the environment's operating conditions and/or constant monitoring of these conditions at run time. That allows the applications to adjust the load and redistribute the tasks when failures occur. These techniques work well when there is no high communication delay. Yet, this is not true in the Cloud, where data and computation servers are connected over the Internet and distributed across large geographic areas. Thus they usually exhibit high and dynamic communication delays that make discovering and recovering from failures take a long time. This paper proposes a delay-tolerant fault-tolerance algorithm that effectively reduces execution time and adapts for failures while minimizing the fault discovery and recovery overhead in the Cloud. Distributed tasks that can use this algorithm include downloading data from replicated servers and executing parallel applications on multiple independent distributed servers in the Cloud. The experimental results show the efficiency of the algorithm and its fault tolerance feature.