Nathan Roberts commented on YARN-4287:
Thanks [~leftnoteasy] for the quick responses.
I think instead of scaling, I suggest to simply cap rack/offswitch delay by the
cluster size, so:
rack-delay = min(offswitch, node-locality-delay, cluserSize)
offswitch-delay = min(offswitch, clusterSize)
The scaling behavior could be hard to explain to end users.
I agree that it's not as easy to describe. BUT, the problem I have is that I
don't know how to deal with the common case of someone wanting
node-locality-delay to be based on the size of the cluster. What we do is set
node-locality-delay to something guaranteed to be larger than the cluster,
knowing the scheduler will automatically lower it to the size of the cluster.
This works great for a single delay on any size cluster. However, it's
impossible to describe two different delays using this same approach. For
example, I might always want node-locality-delay to be 10% less than
rack-locality-delay. Maybe we should specify rack-locality-delay as a
percentage above node-locality-delay ( 10%)? Still a little hard to describe
> 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.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