[ 
https://issues.apache.org/jira/browse/MAPREDUCE-2116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12921040#action_12921040
 ] 

Joydeep Sen Sarma commented on MAPREDUCE-2116:
----------------------------------------------

@luoli - shouldClose() had an expensive synchronized call that was not 
necessary. i have updated the patch with that change - it should help things 
(after we made this change - shouldClose() stopped appearing as one of the top 
calls in the profile).

beyond this - we are working on restructuring the locks so that the JT lock is 
not held for calls that are made at the JIP level. think about it - there's no 
reason why we should hold JT lock when trying to find out whether a taskattempt 
needs to be closed  (it should suffice to hold the JIP lock at the most). we 
are tracking it via MAPREDUCE-2118.

> optimize getTasksToKill to reduce JobTracker contention
> -------------------------------------------------------
>
>                 Key: MAPREDUCE-2116
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2116
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: jobtracker
>            Reporter: Joydeep Sen Sarma
>         Attachments: 2116.1.patch, 2116.2.patch, getTaskToKill.JPG
>
>
> getTasksToKill shows up as one of the top routines holding the JT lock. 
> Specifically, the translation from attemptid to tip is very expensive:
>         at java.util.TreeMap.getEntry(TreeMap.java:328)
>         at java.util.TreeMap.get(TreeMap.java:255)
>         at 
> org.apache.hadoop.mapred.TaskInProgress.shouldClose(TaskInProgress.java:500)
>         at 
> org.apache.hadoop.mapred.JobTracker.getTasksToKill(JobTracker.java:3464)
>           locked <0x00002aab6ebb6640> (a org.apache.hadoop.mapred.JobTracker)
>         at org.apache.hadoop.mapred.JobTracker.heartbeat(JobTracker.java:3181)
> this seems like an avoidable expense since the tip for a given attempt is 
> fixed (and one should not need a map lookup to find the association). on a 
> different note - not clear to me why TreeMaps are in use here (i didn't find 
> any iteration over these maps). any background info on why things are 
> arranged the way they are would be useful.

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

Reply via email to