[ 
https://issues.apache.org/jira/browse/YARN-3491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

zhihai xu updated YARN-3491:
----------------------------
    Description: 
Based on the profiling, The bottleneck in PublicLocalizer#addResource is 
getInitializedLocalDirs. getInitializedLocalDirs call checkLocalDir.
checkLocalDir is very slow which takes about 10+ ms.
The total delay will be approximately number of local dirs * 10+ ms.
This delay will be added for each public resource localization.
Because PublicLocalizer#addResource is slow, the thread pool can't be fully 
utilized. Instead of doing public resource localization in 
parallel(multithreading), public resource localization is serialized most of 
the time.

And also PublicLocalizer#addResource is running in Dispatcher thread, 
So the Dispatcher thread will be blocked by PublicLocalizer#addResource for 
long time.

  was:
Based on the profiling, The bottleneck in PublicLocalizer#addResource is 
getInitializedLocalDirs. getInitializedLocalDirs call checkLocalDir.
checkLocalDir is very slow which is about 10 ms.
The total delay will be approximately number of local dirs * 10 ms.
This delay will be added for each public resource localization.
Because PublicLocalizer#addResource is slow, the thread pool can't be fully 
utilized. Instead of doing public resource localization in 
parallel(multithreading), public resource localization is serialized most of 
the time.

And also PublicLocalizer#addResource is running in Dispatcher thread, 
So the Dispatcher thread will be blocked by PublicLocalizer#addResource for 
long time.


> PublicLocalizer#addResource is too slow.
> ----------------------------------------
>
>                 Key: YARN-3491
>                 URL: https://issues.apache.org/jira/browse/YARN-3491
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: nodemanager
>    Affects Versions: 2.7.0
>            Reporter: zhihai xu
>            Assignee: zhihai xu
>            Priority: Critical
>         Attachments: YARN-3491.000.patch
>
>
> Based on the profiling, The bottleneck in PublicLocalizer#addResource is 
> getInitializedLocalDirs. getInitializedLocalDirs call checkLocalDir.
> checkLocalDir is very slow which takes about 10+ ms.
> The total delay will be approximately number of local dirs * 10+ ms.
> This delay will be added for each public resource localization.
> Because PublicLocalizer#addResource is slow, the thread pool can't be fully 
> utilized. Instead of doing public resource localization in 
> parallel(multithreading), public resource localization is serialized most of 
> the time.
> And also PublicLocalizer#addResource is running in Dispatcher thread, 
> So the Dispatcher thread will be blocked by PublicLocalizer#addResource for 
> long time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to