Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-1718

Command executor can overcommit the agent.

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Accepted
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: agent
    • Labels:
    • Sprint:
      Twitter Mesos Q4 Sprint 3, Twitter Mesos Q4 Sprint 4, Twitter Mesos Q4 Sprint 5, Twitter Mesos Q4 Sprint 6
    • Story Points:
      3

      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.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                bmahler Benjamin Mahler
                Shepherd:
                Benjamin Mahler
              • Votes:
                1 Vote for this issue
                Watchers:
                16 Start watching this issue

                Dates

                • Created:
                  Updated: