Spring 2011





Preparation for MapReduce recitation

This paper was published at the biennial Usenix Symposium on Operating Systems Design and Implementation (OSDI) in 2004, one of the premier conferences in computer systems. (OSDI alternates with the equally prestigious ACM Symposium on Operating Systems Principles (SOSP), at which appeared Eraser, the paper you already read in a previous recitation.)

As you read the paper, keep the following questions in mind, and submit a short answer to any one of these questions (except for the first one) via the submission web site:

  • At first glance, the map/reduce model of computation seems limited. Did the paper persuade you that their model of computation has practical use?
  • Are the authors trying to solve a technological problem (one that will be solved with faster computation), or an intrinsic problem?
  • What assumptions do the authors make about how machines fail, what machines fail, and what they do when they fail? What happens to the system when a given machine fails?
  • What exactly would happen if one block of one hard drive got erased during a map/reduce computation? What parts of the system would fix the error (if any), and what parts of the system would be oblivious (if any)?
  • How do the authors evaluate the performance of their system? What are "Input," "Output," and "Shuffle?"
  • How do "stragglers" impact performance?

Here are some points to keep in mind as you read:

  • In the functional programming notation used in Section 2.2, the function takes the arguments shown to the left of the arrow and returns the type shown to the right of the arrow.
  • After you read Section 3.1, you should be able to instantly recall the following terms: "split," "map worker," "reduce worker," "master."

Questions or comments regarding 6.033? Send e-mail to the 6.033 staff at or to the 6.033 TAs at .

Top // 6.033 home //