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

haosdent commented on MESOS-4697:
---------------------------------

Hi, [~drcrallen] Thank you very much for your nice feedbacks. 

{quote}
I do NOT want to have to go back and update older frameworks to make sure they 
play nice with more-modern frameworks with better resource awareness.
{quote}

Certainly we should not break anything for exists frameworks. This is confirmed 
in our proposal. Framework developers also should not need to care about the 
details about how Mesos isolate resources. All the frameworks need to do is to 
implement the interfaces and call the APIs, then Mesos would choose the correct 
way to satisfy or decline the requests. 

{quote}
What I would love to see is a way for me to have different cgroup roots per 
role.
{quote}

This make sense. Currently we create cgroup for every Mesos containers. Because 
cgroup v1 allow user to create root hierarchies in different places, it is 
tricky to implement it in current architecture(separate isolators for every 
cgroup subsystem). It would become doable after we finish unified cgroup 
isolator and support cgroup v2. And you may take a look at [QoS Isolator 
Proposal | 
https://docs.google.com/document/d/1peagt7dNgU78hQbjOz1fwPTs-ftYFP9DXAyetCM7XcY/edit#heading=h.sg28ikrbhimr]
 as well. It could set different priorities for your frameworks instead of you 
change cgroup configuration in every Mesos Agent.

{quote}
the intended behavior is clarified for when a cgroup is present on a system, 
but the version of mesos running is not aware of how to use such a cgroup
{quote}

In this case, Mesos could not isolate resources with those unsupported cgroup 
subsystems until upgrade it.

> Consolidate cgroup isolators into one single isolator.
> ------------------------------------------------------
>
>                 Key: MESOS-4697
>                 URL: https://issues.apache.org/jira/browse/MESOS-4697
>             Project: Mesos
>          Issue Type: Epic
>            Reporter: Jie Yu
>            Assignee: haosdent
>         Attachments: cgroup_v2.pdf
>
>
> There are two motivations for this:
> 1) It's very verbose to add a new isolator. For cgroup isolators (e.g., cpu, 
> mem, net_cls, etc.), many of the logics are the same. We are currently 
> duplicating a lot of the code.
> 2) Initially, we decided to use a separate isolator for each cgroup subsystem 
> is because we want each subsystem to be mounted under a 
> different hierarchy. This gradually become not true with unified cgroup 
> hierarchy introduced in kernel 3.16([The unified control group hierarchy in 
> 3.16|https://lwn.net/Articles/601840/], 
> [cgroup-v2|https://github.com/torvalds/linux/blob/master/Documentation/cgroup-v2.txt|]).
>  Also, on some popular linux distributions, some subsystems are co-mounted 
> within the same hierarchy (e.g., net_cls and net_prio, cpu and cpuacct). It 
> becomes very hard to co-manage a hierarchy by two isolators.
> We can still introduce subsystem specific code under the unified cgroup 
> isolator by introduce a Subsystem abstraction. But we don't plan to support 
> cgroup v2 in this ticket.



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

Reply via email to