Benjamin Mahler created MESOS-6432:
--------------------------------------

             Summary: Roles with quota assigned can "game" the system to 
receive excessive resources.
                 Key: MESOS-6432
                 URL: https://issues.apache.org/jira/browse/MESOS-6432
             Project: Mesos
          Issue Type: Bug
          Components: allocation
            Reporter: Benjamin Mahler
            Priority: Critical


The current implementation of quota allocation attempts to satisfy each 
resource quota for a role, but in doing so can far exceed the quota assigned to 
the role.

For example, if a role has quota for {{\[30,20,10\]}}, it can consume up to: 
{{\[∞, ∞, 10\]}} or {{\[∞, 20, ∞\]}} or {{\[30, ∞, ∞\]}} as only once each 
resource in the quota vector is satisfied do we stop allocating agent's 
resources to the role!

As a first step for preventing gaming, we could consider quota satisfied once 
any of the resources in the vector has quota satisfied. This approach works 
reasonably well for resources that are required and are present on every agent 
(cpus, mem, disk). However, it doesn't work well for resources that are 
optional / only present on some agents (e.g. gpus) (a.k.a. non-ubiquitous / 
scarce resources). For this we would need to determine which agents have 
resources that can satisfy the quota prior to performing the allocation.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to