[
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)