Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-248

locating map outputs via random probing is inefficient

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.2.1
    • 0.12.0
    • None
    • None

    Description

      Currently the ReduceTaskRunner polls the JobTracker for a random list of map tasks asking for their output locations. It would be better if the JobTracker kept an ordered log and the interface was changed to:

      class MapLocationResults {
      public int getTimestamp();
      public MapOutputLocation[] getLocations();
      }

      interface InterTrackerProtocol {
      ...
      MapLocationResults locateMapOutputs(int prevTimestamp);
      }

      with the intention that each time a ReduceTaskRunner calls locateMapOutputs, it passes back the "timestamp" that it got from the previous result. That way, reduces can easily find the new MapOutputs. This should help the "ramp up" when the maps first start finishing.

      Attachments

        1. 248-9.patch
          21 kB
          Owen O'Malley
        2. 248-fixed1.patch
          23 kB
          Devaraj Das
        3. 248-initial7.patch
          21 kB
          Devaraj Das
        4. 248-initial8.patch
          22 kB
          Devaraj Das

        Issue Links

          Activity

            People

              ddas Devaraj Das
              omalley Owen O'Malley
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: