mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ian Downes (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MESOS-1718) Command executor can overcommit the slave.
Date Fri, 04 Dec 2015 19:03:11 GMT

    [ https://issues.apache.org/jira/browse/MESOS-1718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15042001#comment-15042001
] 

Ian Downes commented on MESOS-1718:
-----------------------------------

To expand on [~vinod@twitter.com]'s comment earlier with some thoughts. The master could choose
the command line executor, and choose resources for it, without knowing the actual path, this
would be completed by the slave at runtime. This just requires the assumption that the slave
always has a command executor available and that it knows its location (which could be different
for different slaves) to be true. This would consolidate much of the logic and properly account
for the command executor's resource usage at the master, rather than hacks at the slave.

> Command executor can overcommit the slave.
> ------------------------------------------
>
>                 Key: MESOS-1718
>                 URL: https://issues.apache.org/jira/browse/MESOS-1718
>             Project: Mesos
>          Issue Type: Bug
>          Components: slave
>            Reporter: Benjamin Mahler
>            Assignee: Ian Downes
>
> Currently we give a small amount of resources to the command executor, in addition to
resources used by the command task:
> https://github.com/apache/mesos/blob/0.20.0-rc1/src/slave/slave.cpp#L2448
> {code: title=}
> ExecutorInfo Slave::getExecutorInfo(
>     const FrameworkID& frameworkId,
>     const TaskInfo& task)
> {
>   ...
>     // Add an allowance for the command executor. This does lead to a
>     // small overcommit of resources.
>     executor.mutable_resources()->MergeFrom(
>         Resources::parse(
>           "cpus:" + stringify(DEFAULT_EXECUTOR_CPUS) + ";" +
>           "mem:" + stringify(DEFAULT_EXECUTOR_MEM.megabytes())).get());
>   ...
> }
> {code}
> This leads to an overcommit of the slave. Ideally, for command tasks we can "transfer"
all of the task resources to the executor at the slave / isolation level.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message