Bipartite Matching Based Speculative Execution to Improve Cloud MapReduce Performance

MapReduce is a software framework which canparallelize the job execution by dividing a job into a number ofmap and reduce tasks in cloud computing systems. Due to somereasons (hardware malfunction, input data skew, heterogeneouscloud environment, etc.), certain map (reduce) tasks may takeabnormally longer execution time than other tasks. As a result,the straggler map (reduce) tasks will significantly affect theentire job completion time, which is called the straggler problem.Speculative execution is a well-known method to solve thestraggler problem by re-running a straggler task in a fasternode. However, existing speculative execution schemes do not 1)preclude unsuitable idle slots for straggler tasks, 2) maximize theidle slot utilization to re-run straggler tasks as many as possible,and 3) make a re-run straggler tasks with the consistent executionprogress with non-straggler task. In this paper, we are basedon a well-known graph problem: bipartite matching to proposea new speculative execution scheme called the BM. First, theBM filters all idle slots to generate a backup slot set for eachstraggler tasks. Then, the straggler tasks and their correspondingbackup slot sets are used to model a bipartite graph. For eachstraggler task, we also estimate the progress difference betweenthe re-run straggler task and the non-straggler tasks as the edgeweight on the bipartite graph. Next, the optimal matching on theweighted bipartite graph is solved by formulating a correspondinginteger linear programming (ILP) model. Finally, the speculativeexecution of straggler tasks is scheduled by following the obtainedthe optimal matching solution. Simulation experiments are alsoperformed to demonstrate the improvement of the BM in theMapReudce speculative execution.