Chris Trezzo commented on YARN-1492:

[~kasha], [~vinodkv] and I had a conversation around the main things needed 
before committing to trunk:
1. Complete the refactor that removes SCMContext and ensures implementation 
details from the in-memory store are not leaked through the SCMStore interface.
2. Add a configuration parameter at the yarn level that allows operators to 
disallow uploading resources to the shared cache if they are not PUBLIC 
(currently resources are allowed if they are PUBLIC or owned by the user 
requesting the upload).
3. Ability to run SCM optionally as part of the RM.

A few things that are important, but can be added post merge:
1. A levelDB store implementation.
2. Security.
3. ZK-based store implementation.

Also, the consensus was that it seemed OK to let store implementations handle 
eviction policy logic. Having eviction policy logic span store implementations 
might be difficult and could cause store implementation details to leak through 
into the policies. For example, the in-memory store has to consider when it 
started up during cache eviction, where persistent stores may not need to.

> 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: 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, 
> 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
> 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

Reply via email to