[
https://issues.apache.org/jira/browse/YARN-4287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nathan Roberts updated YARN-4287:
---------------------------------
Attachment: YARN-4287-v4.patch
V4 of patch.
- I moved the calculation of locality delays out of canAssign() since this is a
very hot path and the answer only changes when the size of the cluster changes.
This caused a few unit tests to start failing because the number of nodes in
the cluster was not always being mocked at the right time causing the
LocalityDelays to be 0 which confused some of the assumptions.
- I left the scaling approach in, but am willing to move to a
rack-locality-delay that is specified as a percent. I absolutely want a
node-locality-delay set to 5000, rack-locality-delay set to 5100, do something
intelligent on a 3000 node cluster.
- One argument for sticking with the scaling approach is the fact that we
basically do it today in a simpler fashion. If you specify node-locality-delay
of 5000 on a 3000 node cluster, it gets automatically scaled down to 3000
without informing the user. So I'd say scale it but don't try to explain it in
user documentation.
- Updated the documentation
> Capacity Scheduler: Rack Locality improvement
> ---------------------------------------------
>
> Key: YARN-4287
> URL: https://issues.apache.org/jira/browse/YARN-4287
> Project: Hadoop YARN
> Issue Type: Improvement
> Components: capacityscheduler
> Affects Versions: 2.7.1
> Reporter: Nathan Roberts
> Assignee: Nathan Roberts
> Attachments: YARN-4287-v2.patch, YARN-4287-v3.patch,
> YARN-4287-v4.patch, YARN-4287.patch
>
>
> YARN-4189 does an excellent job describing the issues with the current delay
> scheduling algorithms within the capacity scheduler. The design proposal also
> seems like a good direction.
> This jira proposes a simple interim solution to the key issue we've been
> experiencing on a regular basis:
> - rackLocal assignments trickle out due to nodeLocalityDelay. This can have
> significant impact on things like CombineFileInputFormat which targets very
> specific nodes in its split calculations.
> I'm not sure when YARN-4189 will become reality so I thought a simple interim
> patch might make sense. The basic idea is simple:
> 1) Separate delays for rackLocal, and OffSwitch (today there is only 1)
> 2) When we're getting rackLocal assignments, subsequent rackLocal assignments
> should not be delayed
> Patch will be uploaded shortly. No big deal if the consensus is to go
> straight to YARN-4189.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)