You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Devaraj Das (JIRA)" <ji...@apache.org> on 2008/11/19 16:58:44 UTC
[jira] Created: (HADOOP-4683) Move the call to
getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a
separate thread
Move the call to getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a separate thread
----------------------------------------------------------------------------------------------------
Key: HADOOP-4683
URL: https://issues.apache.org/jira/browse/HADOOP-4683
Project: Hadoop Core
Issue Type: Bug
Components: mapred
Reporter: Devaraj Das
Fix For: 0.20.0
The method ReduceTask.ReduceCopier.fetchOutputs makes a call to getMapCompletionEvents every iteration of the loop. This should be moved out to a separate thread. This might slow down the shuffle scheduler in some cases since there is a sleep inside the getMapCompletionEvents method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HADOOP-4683) Move the call to
getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a
separate thread
Posted by "Devaraj Das (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655903#action_12655903 ]
Devaraj Das commented on HADOOP-4683:
-------------------------------------
I propose this go to 0.18.3.
> Move the call to getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a separate thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HADOOP-4683
> URL: https://issues.apache.org/jira/browse/HADOOP-4683
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Devaraj Das
> Assignee: Jothi Padmanabhan
> Fix For: 0.20.0
>
> Attachments: hadoop-4683.patch
>
>
> The method ReduceTask.ReduceCopier.fetchOutputs makes a call to getMapCompletionEvents every iteration of the loop. This should be moved out to a separate thread. This might slow down the shuffle scheduler in some cases since there is a sleep inside the getMapCompletionEvents method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HADOOP-4683) Move the call to
getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a
separate thread
Posted by "Devaraj Das (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Devaraj Das updated HADOOP-4683:
--------------------------------
Resolution: Fixed
Hadoop Flags: [Reviewed]
Status: Resolved (was: Patch Available)
I just committed this. Thanks, Jothi!
> Move the call to getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a separate thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HADOOP-4683
> URL: https://issues.apache.org/jira/browse/HADOOP-4683
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Devaraj Das
> Assignee: Jothi Padmanabhan
> Fix For: 0.20.0
>
> Attachments: hadoop-4683.patch
>
>
> The method ReduceTask.ReduceCopier.fetchOutputs makes a call to getMapCompletionEvents every iteration of the loop. This should be moved out to a separate thread. This might slow down the shuffle scheduler in some cases since there is a sleep inside the getMapCompletionEvents method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HADOOP-4683) Move the call to
getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a
separate thread
Posted by "Jothi Padmanabhan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jothi Padmanabhan updated HADOOP-4683:
--------------------------------------
Status: Patch Available (was: Open)
> Move the call to getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a separate thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HADOOP-4683
> URL: https://issues.apache.org/jira/browse/HADOOP-4683
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Devaraj Das
> Assignee: Jothi Padmanabhan
> Fix For: 0.20.0
>
> Attachments: hadoop-4683.patch
>
>
> The method ReduceTask.ReduceCopier.fetchOutputs makes a call to getMapCompletionEvents every iteration of the loop. This should be moved out to a separate thread. This might slow down the shuffle scheduler in some cases since there is a sleep inside the getMapCompletionEvents method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (HADOOP-4683) Move the call to
getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a
separate thread
Posted by "Jothi Padmanabhan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jothi Padmanabhan updated HADOOP-4683:
--------------------------------------
Attachment: hadoop-4683.patch
Attaching a patch.
A 100 node, 100 byte, 100K maps loadgen showed a 3x performance improvement (~800 seconds with patch, ~2500 seconds without the patch)
{noformat}
bin/hadoop jar hadoop-$BUILD-test.jar loadgen \
-D test.randomtextwrite.bytes_per_map=$((100)) \
-D test.randomtextwrite.total_bytes=$((100*100000)) \
-D mapred.compress.map.output=false \
-r 1 \
-outKey org.apache.hadoop.io.Text \
-outValue org.apache.hadoop.io.Text \
-outFormat org.apache.hadoop.mapred.lib.NullOutputFormat \
-outdir fakeout
{noformat}
Testpatch results:
[exec] -1 overall.
[exec]
[exec] +1 @author. The patch does not contain any @author tags.
[exec]
[exec] -1 tests included. The patch doesn't appear to include any new or modified tests.
[exec] Please justify why no tests are needed for this patch.
[exec]
[exec] +1 javadoc. The javadoc tool did not generate any warning messages.
[exec]
[exec] +1 javac. The applied patch does not increase the total number of javac compiler warnings.
[exec]
[exec] +1 findbugs. The patch does not introduce any new Findbugs warnings.
[exec]
[exec] +1 Eclipse classpath. The patch retains Eclipse classpath integrity.
[exec]
> Move the call to getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a separate thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HADOOP-4683
> URL: https://issues.apache.org/jira/browse/HADOOP-4683
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Devaraj Das
> Assignee: Jothi Padmanabhan
> Fix For: 0.20.0
>
> Attachments: hadoop-4683.patch
>
>
> The method ReduceTask.ReduceCopier.fetchOutputs makes a call to getMapCompletionEvents every iteration of the loop. This should be moved out to a separate thread. This might slow down the shuffle scheduler in some cases since there is a sleep inside the getMapCompletionEvents method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HADOOP-4683) Move the call to
getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a
separate thread
Posted by "Owen O'Malley (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655905#action_12655905 ]
Owen O'Malley commented on HADOOP-4683:
---------------------------------------
I don't think this is a regression. I think we should apply this to trunk, but not 0.19 or 0.18.
> Move the call to getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a separate thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HADOOP-4683
> URL: https://issues.apache.org/jira/browse/HADOOP-4683
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Devaraj Das
> Assignee: Jothi Padmanabhan
> Fix For: 0.20.0
>
> Attachments: hadoop-4683.patch
>
>
> The method ReduceTask.ReduceCopier.fetchOutputs makes a call to getMapCompletionEvents every iteration of the loop. This should be moved out to a separate thread. This might slow down the shuffle scheduler in some cases since there is a sleep inside the getMapCompletionEvents method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (HADOOP-4683) Move the call to
getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a
separate thread
Posted by "Jothi Padmanabhan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4683?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jothi Padmanabhan reassigned HADOOP-4683:
-----------------------------------------
Assignee: Jothi Padmanabhan
> Move the call to getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a separate thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HADOOP-4683
> URL: https://issues.apache.org/jira/browse/HADOOP-4683
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Devaraj Das
> Assignee: Jothi Padmanabhan
> Fix For: 0.20.0
>
>
> The method ReduceTask.ReduceCopier.fetchOutputs makes a call to getMapCompletionEvents every iteration of the loop. This should be moved out to a separate thread. This might slow down the shuffle scheduler in some cases since there is a sleep inside the getMapCompletionEvents method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HADOOP-4683) Move the call to
getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a
separate thread
Posted by "Jothi Padmanabhan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650475#action_12650475 ]
Jothi Padmanabhan commented on HADOOP-4683:
-------------------------------------------
Discussed offline with Owen. While the sleep itself is one part of the problem, the more compelling case for having a separate thread would be the case where the JobTracker is slow and the shuffle scheduler is stuck because the actual call to getMapCompletionEvents is taking a long time to return.
> Move the call to getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a separate thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HADOOP-4683
> URL: https://issues.apache.org/jira/browse/HADOOP-4683
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Devaraj Das
> Assignee: Jothi Padmanabhan
> Fix For: 0.20.0
>
>
> The method ReduceTask.ReduceCopier.fetchOutputs makes a call to getMapCompletionEvents every iteration of the loop. This should be moved out to a separate thread. This might slow down the shuffle scheduler in some cases since there is a sleep inside the getMapCompletionEvents method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (HADOOP-4683) Move the call to
getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a
separate thread
Posted by "Jothi Padmanabhan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HADOOP-4683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655908#action_12655908 ]
Jothi Padmanabhan commented on HADOOP-4683:
-------------------------------------------
ant test and test-contrib passed on my local box
> Move the call to getMapCompletionEvents in ReduceTask.ReduceCopier.fetchOutputs to a separate thread
> ----------------------------------------------------------------------------------------------------
>
> Key: HADOOP-4683
> URL: https://issues.apache.org/jira/browse/HADOOP-4683
> Project: Hadoop Core
> Issue Type: Bug
> Components: mapred
> Reporter: Devaraj Das
> Assignee: Jothi Padmanabhan
> Fix For: 0.20.0
>
> Attachments: hadoop-4683.patch
>
>
> The method ReduceTask.ReduceCopier.fetchOutputs makes a call to getMapCompletionEvents every iteration of the loop. This should be moved out to a separate thread. This might slow down the shuffle scheduler in some cases since there is a sleep inside the getMapCompletionEvents method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.