Issue Details (XML | Word | Printable)

Key: HADOOP-910
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Amar Kamat
Reporter: Devaraj Das
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Hadoop Common

Reduces can do merges for the on-disk map output files in parallel with their copying

Created: 19/Jan/07 06:44 AM   Updated: 08/Jul/09 04:52 PM
Return to search
Component/s: None
Affects Version/s: None
Fix Version/s: 0.17.0

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works HADOOP-910-review.patch 2008-01-19 10:05 AM Amar Kamat 13 kB
Text File Licensed for inclusion in ASF works HADOOP-910.patch 2008-03-01 07:09 AM Amar Kamat 13 kB
Text File Licensed for inclusion in ASF works HADOOP-910.patch 2008-02-22 02:32 PM Amar Kamat 14 kB
Text File Licensed for inclusion in ASF works HADOOP-910.patch 2008-02-18 12:52 PM Amar Kamat 14 kB

Hadoop Flags: Reviewed
Release Note: Reducers now perform merges of shuffle data (both in-memory and on disk) while fetching map outputs. Earlier, during shuffle they used to merge only the in-memory outputs.
Resolution Date: 02/Mar/08 06:10 PM


 Description  « Hide
Proposal to extend the parallel in-memory-merge/copying, that is being done as part of HADOOP-830, to the on-disk files.

Today, the Reduces dump the map output files to disk and the final merge happens only after all the map outputs have been collected. It might make sense to parallelize this part. That is, whenever a Reduce has collected io.sort.factor number of segments on disk, it initiates a merge of those and creates one big segment. If the rate of copying is faster than the merge, we can probably have multiple threads doing parallel merges of independent sets of io.sort.factor number of segments. If the rate of copying is not as fast as merge, we stand to gain a lot - at the end of copying of all the map outputs, we will be left with a small number of segments for the final merge (which hopefully will feed the reduce directly (via the RawKeyValueIterator) without having to hit the disk for writing additional output segments).
If the disk bandwidth is higher than the network bandwidth, we have a good story, I guess, to do such a thing.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
No work has yet been logged on this issue.