Byzantine Fault-Tolerant MapReduce: Faults Are Not Just Crashes
MapReduce is often used to run critical jobs such as scientific data analysis. However, evidence in the literature shows that arbitrary faults do occur and can probably corrupt the results of MapReduce jobs. MapReduce runtimes like Hadoop tolerate crash faults, but not arbitrary or Byzantine faults. The authors present a MapReduce algorithm and prototype that tolerate these faults. An experimental evaluation shows that the execution of a job with their algorithms uses twice the resources of the original Hadoop, instead of the 3 or 4 times more that would be achieved with the direct application of common Byzantine fault-tolerance paradigms. They believe this cost is acceptable for critical applications that require that level of fault tolerance.