[ 
https://issues.apache.org/jira/browse/MESOS-4697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

haosdent updated MESOS-4697:
----------------------------
    Description: 
Linux introduce the unified cgroup hierarchy since 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|]

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. 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 (e.g., introduce a Subsystem abstraction?).

  was:
Linux introduce the unified cgroup hierarchy since 3.16 
[https://lwn.net/Articles/601840/|The unified control group hierarchy in 3.16] 
[https://github.com/torvalds/linux/blob/master/Documentation/cgroup-v2.txt|cgroup-v2]

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. 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 (e.g., introduce a Subsystem abstraction?).


> 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
>
>
> Linux introduce the unified cgroup hierarchy since 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|]
> 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. 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 (e.g., introduce a Subsystem abstraction?).



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

Reply via email to