Re: Review Request 40759: [WIP] Command executor can overcommit the slave
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/40759/ --- (Updated Dec. 8, 2015, 12:03 p.m.) Review request for Ben Mahler, Ian Downes and Vinod Kone. Changes --- `make check` passed without `sudo` Bugs: MESOS-1718 https://issues.apache.org/jira/browse/MESOS-1718 Repository: mesos Description --- 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 ``` 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()); ... } ``` 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. Diffs (updated) - include/mesos/mesos.proto 3a10c8a src/docker/executor.cpp 4042cec src/launcher/executor.cpp f90ea01 src/master/constants.hpp cc38dfc src/master/master.hpp 4683fa5 src/master/master.cpp 953fa4f src/slave/constants.hpp bcbb140 src/slave/slave.hpp b7586ce src/slave/slave.cpp 9bd86e1 src/tests/containerizer/docker_containerizer_tests.cpp 3f199e6 src/tests/master_tests.cpp 865fa4a src/tests/monitor_tests.cpp a848d14 src/tests/reservation_endpoints_tests.cpp c3833d0 src/tests/slave_recovery_tests.cpp c0e4ff7 src/tests/slave_tests.cpp 4975bea Diff: https://reviews.apache.org/r/40759/diff/ Testing --- only `make` passwd for now. Thanks, Klaus Ma
Re: Review Request 40759: [WIP] Command executor can overcommit the slave
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/40759/ --- (Updated Dec. 6, 2015, 11:35 p.m.) Review request for mesos, Ben Mahler, Ian Downes, and Vinod Kone. Changes --- Update the draft code diff to move `getExecutorInfo` from slave to master; but there's still some failed cases on slave's registry. Will discuss the solution for it in JIRA. Bugs: MESOS-1718 https://issues.apache.org/jira/browse/MESOS-1718 Repository: mesos Description --- 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 ``` 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()); ... } ``` 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. Diffs (updated) - include/mesos/mesos.proto 3a10c8a src/docker/executor.cpp 4042cec src/launcher/executor.cpp f90ea01 src/master/constants.hpp cc38dfc src/master/master.hpp 4683fa5 src/master/master.cpp 953fa4f src/slave/constants.hpp bcbb140 src/slave/slave.hpp b7586ce src/slave/slave.cpp 9bd86e1 src/tests/containerizer/docker_containerizer_tests.cpp 3f199e6 src/tests/master_tests.cpp 865fa4a src/tests/monitor_tests.cpp a848d14 src/tests/slave_recovery_tests.cpp c0e4ff7 src/tests/slave_tests.cpp 4975bea Diff: https://reviews.apache.org/r/40759/diff/ Testing --- only `make` passwd for now. Thanks, Klaus Ma
Review Request 40759: [WIP] Command executor can overcommit the slave
--- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/40759/ --- Review request for mesos, Ben Mahler, Ian Downes, and Vinod Kone. Summary (updated) - [WIP] Command executor can overcommit the slave Bugs: MESOS-1718 https://issues.apache.org/jira/browse/MESOS-1718 Repository: mesos Description (updated) --- 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 ``` 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()); ... } ``` 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. Diffs (updated) - include/mesos/mesos.proto 27971fe src/master/constants.hpp cc38dfc src/master/constants.cpp 98ea7c8 src/master/master.hpp 96951e7 src/master/master.cpp b918ae4 src/slave/constants.hpp bcbb140 src/slave/slave.hpp 5ee133a src/slave/slave.cpp 9055f2a Diff: https://reviews.apache.org/r/40759/diff/ Testing (updated) --- only `make` passwd for now. Thanks, Klaus Ma