[
https://issues.apache.org/jira/browse/TEZ-708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13918657#comment-13918657
]
Siddharth Seth commented on TEZ-708:
------------------------------------
LocalTezAMRMClientAsync has it's advantages in the sense that the book-keeping,
assignment logic (priorities) etc do not need to be re-created in a
LocalTaskScheduler. However it has the downside that there's a bunch of
functionality there related to locality which becomes irrelevant when running
in local mode.
The decision to run a container within the AM or remotely could be taken during
the DAG schedule phase (explicit), or during Task scheduling - since this is
where available resources is actually known. It may just make sense to modify
the TaskScheduler to deal with allocations from multiple source (RM /
LocalContainers). Explicit local asks must wait for Local containers (specific
resource ask, avoid asking for remote containers in this case).
The task scheduler is also where logic like container re-use (affinity based
scheduling) etc goes in. While that's not required for local mode - it would be
useful to have in a mixed uber-remote execution model.
For just a local mode - I'd go with LocalTezAMRMClientAsync for now, since that
continues to allow TaskScheduler logic to be invoked. Eventually, we can look
at changing TaskScheduler to be aware of "local" resource requirements.
> Avoid asking for new containers in uber-local mode
> --------------------------------------------------
>
> Key: TEZ-708
> URL: https://issues.apache.org/jira/browse/TEZ-708
> Project: Apache Tez
> Issue Type: Sub-task
> Reporter: Chen He
> Assignee: Jonathan Eagles
>
> Once we finish this task, the TaskSchedulerEventHandler should not ask for
> new container in the Uber-mode.
--
This message was sent by Atlassian JIRA
(v6.2#6252)