[
https://issues.apache.org/jira/browse/MESOS-4697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
haosdent updated MESOS-4697:
----------------------------
Description:
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.
was:
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?).
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)