[ 
https://issues.apache.org/jira/browse/MESOS-5377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15326333#comment-15326333
 ] 

Guangya Liu commented on MESOS-5377:
------------------------------------

[~bmahler] I posted a prototype here 
https://github.com/jay-lau/mesos/commit/d411e20350f9c10100314da113f705f00ea55d74

The main idea for this is:
1) Added a new flag named as {{allocator_fairness_excluded_resource_names}} to 
define the scare resources.
2) Added helper functions to filter out scare resource.
{code}
// Tests if the given Resource object is non scare. If the
// fairnessExcludeResourceNames is specified, all of the resources in
// fairnessExcludeResourceNames will be treated as scare resources,
// and those resources will be filtered out.
static bool isNonScare(
    const Resource& resource,
    const Option<hashset<std::string>>& fairnessExcludeResourceNames);
// Returns the non scare resources, all of the resources in
// fairnessExcludeResourceNames will be treated as scare resources,
// and those resources will be filtered out.
Resources nonScare(const Option<hashset<std::string>>&
  fairnessExcludeResourceNames = None()) const;
{code}
3) Filter out the scare resources in allocator, the sorter is not aware of the 
scare resources.


> Improve DRF behavior with scarce resources.
> -------------------------------------------
>
>                 Key: MESOS-5377
>                 URL: https://issues.apache.org/jira/browse/MESOS-5377
>             Project: Mesos
>          Issue Type: Epic
>          Components: allocation
>            Reporter: Benjamin Mahler
>            Assignee: Guangya Liu
>
> The allocator currently uses the notion of Weighted [Dominant Resource 
> Fairness|https://www.cs.berkeley.edu/~alig/papers/drf.pdf] (WDRF) to 
> establish a linear notion of fairness across allocation roles.
> DRF behaves well for resources that are present within each machine in a 
> cluster (e.g. CPUs, memory, disk). However, some resources (e.g. GPUs) are 
> only present on a subset of machines in the cluster.
> Consider the behavior when there are the following agents in a cluster:
> 1000 agents with (cpus:4,mem:1024,disk:1024)
> 1 agent with (gpus:1,cpus:4,mem:1024,disk:1024)
> If a role wishes to use both GPU and non-GPU resources for tasks, consuming 1 
> GPU will lead DRF to consider the role to have a 100% share of the cluster, 
> since it consumes 100% of the GPUs in the cluster. This framework will then 
> not receive any other offers.
> Among possible improvements, fairness can have understanding of resource 
> packages. In a sense there is 1 GPU package that is competed on and 1000 
> non-GPU packages competed on, and ideally a role's consumption of the single 
> GPU package does not have a large effect on the role's access to the other 
> 1000 non-GPU packages.
> In the interim, we should consider having a recommended way to deal with 
> scarce resources in the current model.



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

Reply via email to