Technically, there is no real difference in MapReduce runtime analysis compared to standard algorithms. MapReduce is still an algorithm, like any other (or, in particular, a class of algorithms that occur in several stages, with a certain interaction between these steps).
MapReduce job execution time will continue to scale, as normal algorithmic analysis predicts, when you consider the separation of tasks on multiple machines, and then find the maximum individual machine time required for each step.
That is, if you have a task that requires M-card operations and R reduction operations running on N machines, and you expect the average card operation to take time and the average operating time r, the expected execution time is ceil(M/N)*m + ceil(R/N)*r for all the tasks in question.
Predicting values ββfor M, R, m, and r is all that can be accomplished by normal analysis of any algorithm that you connect to MapReduce.
source share