-
14
pages
-
English
-
Documents
-
2013
Description
Fault Tolerance via Idempotence G. Ramalingam and Kapil Vaswani Microsoft Research, India grama,kapilv@microsoft.com Abstract ing comes with its own pitfalls, such as process failures, imperfect messaging, asynchrony and concurrency.Building distributed services and applications is challenging due Consider the prototypical bank account transfer service into the pitfalls of distribution such as process and communication Fig. 1. The goal of the service is to transfer money between bankfailures. A natural solution to these problems is to detect potential accounts, potentially in different banks. If the accounts belong tofailures, and retry the failed computation and/or resend messages. different banks, ensuring that the transfer executes as an atomicEnsuring correctness in such an environment requires distributed (distributed) transaction is usually not feasible, and the natural wayservices and applications to be idempotent. of expressing this computation is as a workflow [10, 20] consistingIn this paper, we study the inter-related aspects of process fail- of two steps, a debit followed by a credit.ures, duplicate messages, and idempotence. We first introduce a What if the process executing the workflow fails in between thesimple core language (based on -calculus) inspired by modern dis- debit and credit steps? A natural solution is to detect this failuretributed computing platforms.
-
Publié par
-
Publié le
25 janvier 2013
-
Langue
English