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.
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