[
https://issues.apache.org/jira/browse/YARN-5139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15637462#comment-15637462
]
Carlo Curino commented on YARN-5139:
------------------------------------
[~wangda] Thanks for working on this, it looks very promising.
One thing I was considering was the following: if we were not concerned with
fair-sharing of over-capacity I believe we could push this design even much
further, with even lower need for coordination, and focusing more on
speed/quality of the scheduling decisions.
My hunch is that fairness is a very costly property to enforce, and from my
conversations with many many folks and an analysis of escalation tickets and
user discussion threads, I believe it is not what people really want. If you
ask someone "do you want a fair cluster?" they will answer yes, but in practice
they can't see unfairness, nor seem to affect users in practice much (people
care about meeting deadlines or low-latency, whether this is achieve in a fair
way or not seems largely secondary).
To ground this mumbling a bit more, the question is: Do you think we can
structure this code so that if we were not concerned with fairness (or fair
over-capacity) we could squeeze even more parallelism/speed out of it?
> [Umbrella] Move YARN scheduler towards global scheduler
> -------------------------------------------------------
>
> Key: YARN-5139
> URL: https://issues.apache.org/jira/browse/YARN-5139
> Project: Hadoop YARN
> Issue Type: New Feature
> Reporter: Wangda Tan
> Assignee: Wangda Tan
> Attachments: Explanantions of Global Scheduling (YARN-5139)
> Implementation.pdf, YARN-5139-Concurrent-scheduling-performance-report.pdf,
> YARN-5139-Global-Schedulingd-esign-and-implementation-notes-v2.pdf,
> YARN-5139-Global-Schedulingd-esign-and-implementation-notes.pdf,
> YARN-5139.000.patch, wip-1.YARN-5139.patch, wip-2.YARN-5139.patch,
> wip-3.YARN-5139.patch, wip-4.YARN-5139.patch, wip-5.YARN-5139.patch
>
>
> Existing YARN scheduler is based on node heartbeat. This can lead to
> sub-optimal decisions because scheduler can only look at one node at the time
> when scheduling resources.
> Pseudo code of existing scheduling logic looks like:
> {code}
> for node in allNodes:
> Go to parentQueue
> Go to leafQueue
> for application in leafQueue.applications:
> for resource-request in application.resource-requests
> try to schedule on node
> {code}
> Considering future complex resource placement requirements, such as node
> constraints (give me "a && b || c") or anti-affinity (do not allocate HBase
> regionsevers and Storm workers on the same host), we may need to consider
> moving YARN scheduler towards global scheduling.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]