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 "Chris Trezzo (JIRA)" <ji...@apache.org> on 2017/07/10 21:05:01 UTC

[jira] [Commented] (YARN-1492) truly shared cache for jars (jobjar/libjar)

    [ https://issues.apache.org/jira/browse/YARN-1492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16081151#comment-16081151 ] 

Chris Trezzo commented on YARN-1492:
------------------------------------

bq. Could you explain how the shared cache leverage the node manager local cache in detail?

The shared cache leverages the local cache via the normal LocalResource API. The YARN application specifies a shared cache path that it received from the shared cache as the LocalResource URI.

bq. Are those shared jars marked as PUBLIC?

Yes, currently all resources in the shared cache are world readable, so they are in that sense public. However, at the node manager level you could set the visibilities to PRIVATE or APPLICATION.

bq. Could you point me the source code that handle this?

The shared cache uses the normal localization code path (see ResourceLocalizationService). For shared cache specific parts to upload a resource to the cache see SharedCacheUploader. If you want to see an example of how a YARN application can implement support for the shared cache, see MAPREDUCE-5951 for how map reduce does it.

> truly shared cache for jars (jobjar/libjar)
> -------------------------------------------
>
>                 Key: YARN-1492
>                 URL: https://issues.apache.org/jira/browse/YARN-1492
>             Project: Hadoop YARN
>          Issue Type: New Feature
>    Affects Versions: 2.0.4-alpha
>            Reporter: Sangjin Lee
>            Assignee: Chris Trezzo
>         Attachments: shared_cache_design.pdf, shared_cache_design_v2.pdf, shared_cache_design_v3.pdf, shared_cache_design_v4.pdf, shared_cache_design_v5.pdf, shared_cache_design_v6.pdf, YARN-1492-all-trunk-v1.patch, YARN-1492-all-trunk-v2.patch, YARN-1492-all-trunk-v3.patch, YARN-1492-all-trunk-v4.patch, YARN-1492-all-trunk-v5.patch
>
>
> Currently there is the distributed cache that enables you to cache jars and files so that attempts from the same job can reuse them. However, sharing is limited with the distributed cache because it is normally on a per-job basis. On a large cluster, sometimes copying of jobjars and libjars becomes so prevalent that it consumes a large portion of the network bandwidth, not to speak of defeating the purpose of "bringing compute to where data is". This is wasteful because in most cases code doesn't change much across many jobs.
> I'd like to propose and discuss feasibility of introducing a truly shared cache so that multiple jobs from multiple users can share and cache jars. This JIRA is to open the discussion.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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