You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Christopher Hunt (JIRA)" <ji...@apache.org> on 2016/07/22 09:45:20 UTC
[jira] [Commented] (MESOS-1718) Command executor can overcommit the
slave.
[ https://issues.apache.org/jira/browse/MESOS-1718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15389230#comment-15389230 ]
Christopher Hunt commented on MESOS-1718:
-----------------------------------------
I realise that this is an old comment, but I'm curious to learn whether always adding an executor's resources can be avoided.
I have a situation where my executor requires 1.0 cpu. This means that every task it runs will require at least 1.0 cpu, and we'll quickly use up the cpu count for a given node. On a large EC2 instance of 4 cpus, I can probably run just two tasks with my executor.
> 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
>
> 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)