You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Karthik Kambatla (JIRA)" <ji...@apache.org> on 2017/03/01 15:21:45 UTC

[jira] [Updated] (YARN-6245) Add FinalResource object to reduce overhead of Resource class instancing

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

Karthik Kambatla updated YARN-6245:
-----------------------------------
    Attachment: observable-resource.patch

Here is the approach I had in mind. Usecase: app, leaf-queue and parent-queue store a bunch of stats; in fairscheduler, there is fairshare, demand, usage etc. that is accessed often. By returning an observable copy, we don't have to create full copies or hold locks. 

I ran multiple cases in a loop and we seem to save 20 - 30% time based on whether this is called on a new resource.  

> Add FinalResource object to reduce overhead of Resource class instancing
> ------------------------------------------------------------------------
>
>                 Key: YARN-6245
>                 URL: https://issues.apache.org/jira/browse/YARN-6245
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Wangda Tan
>         Attachments: observable-resource.patch, YARN-6245.preliminary-staled.1.patch
>
>
> There're lots of Resource object creation in YARN Scheduler, since Resource object is backed by protobuf, creation of such objects is expensive and becomes bottleneck.
> To address the problem, we can introduce a FinalResource (Is it better to call it ImmutableResource?) object, which is not backed by PBImpl. We can use this object in frequent invoke paths in the scheduler.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org