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 10:27:20 UTC
[jira] [Comment Edited] (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 edited comment on MESOS-1718 at 7/22/16 10:27 AM:
-------------------------------------------------------------------
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.
...or does the addition play no part in scheduling...
was (Author: huntc):
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)