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

Hope mesos support soft and hard cpu/memory resource in the task

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 0.28.2
    • Fix Version/s: None
    • Environment:

      CentOS 7
      Kernel 3.10.0-327.28.3.el7.x86_64
      Mesos 0.28.2
      Docker 1.11.2

      Description

      The Docker executor maybe could support soft/hard resource limit to enable more flexible resources sharing among the applications.

        CPU Memory
      hard limit --cpu-period & --cpu-quota --memory & --memory-swap
      soft limit --cpu-shares --memory-reservation

      And now the task protobuf message has only one resource struct that used to describe the cgroup limit, and the docker executor handle is like the following, only --memory and --cpu-shares were set:

        if (resources.isSome()) {
          // TODO(yifan): Support other resources (e.g. disk).
          Option<double> cpus = resources.get().cpus();
          if (cpus.isSome()) {
            uint64_t cpuShare =
              std::max((uint64_t) (CPU_SHARES_PER_CPU * cpus.get()), MIN_CPU_SHARES);
            argv.push_back("--cpu-shares");
            argv.push_back(stringify(cpuShare));
          }
      
          Option<Bytes> mem = resources.get().mem();
          if (mem.isSome()) {
            Bytes memLimit = std::max(mem.get(), MIN_MEMORY);
            argv.push_back("--memory");
            argv.push_back(stringify(memLimit.bytes()));
          }
        }
      

      I hope that the executor and the protobuf message could separate the resource to the two parts: soft and hard. Then the user could set 2 levels resource limits for the docker.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                BrickXu Lei Xu
              • Votes:
                1 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: