hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amar Kamat (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-910) Reduces can do merges for the on-disk map output files in parallel with their copying
Date Thu, 06 Mar 2008 13:41:01 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12575701#action_12575701
] 

Amar Kamat commented on HADOOP-910:
-----------------------------------

This patch would help in the following settings
1) low _fs.inmemory.size.mb_ : In case of low ramfs, more files will be present on the disk
(either due to ramfs miss and also due to faster merge). 
    So while the shuffle phase is happening the reducer can simultaneously start the merging
of the disk files. Also in cases with sufficient ramfs but huge 
    number of maps there will be  lots of files on disk (more the merges in ramfs). A premature
merge under such conditions will definitely help.
2) low _io.sort.factor_ : In such cases the on-disk merge will kick in faster. One on-disk
merge requires  {{2*_io.sort.factor_ - 1}} files to be on disk.

> Reduces can do merges for the on-disk map output files in parallel with their copying
> -------------------------------------------------------------------------------------
>
>                 Key: HADOOP-910
>                 URL: https://issues.apache.org/jira/browse/HADOOP-910
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: mapred
>            Reporter: Devaraj Das
>            Assignee: Amar Kamat
>             Fix For: 0.17.0
>
>         Attachments: HADOOP-910-review.patch, HADOOP-910.patch, HADOOP-910.patch, HADOOP-910.patch
>
>
> 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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message