You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mesos.apache.org by ricky l <ri...@gmail.com> on 2014/01/22 16:41:58 UTC
cgroup cpu isolation policy
I have a question regarding CPU isolation policy of mesos using cgroup. In
cgroup, there are multiple cpu resource isolation policies - controlling
"cpu.shares", quota ("cpu.cfs_quota_us"), or cpu core binding
("cpuset.cpus"). Among them, which method does mesos mainly use? I read
the CgroupsIsolator class in the source code, but it seems to set all three
values. thanks in advance.
-r
Re: cgroup cpu isolation policy
Posted by ricky l <ri...@gmail.com>.
Thanks Ian for the answer. Now it is clear. It's up to a user which
isolation mechanism to use - for more efficient slave resource usage,
cpu.shares needs to be enabled (work-conserving mode), For the extreme
isolation between frameworks, one need to enable cfs.
- r
On Wed, Jan 22, 2014 at 4:42 PM, Ian Downes <ia...@gmail.com> wrote:
> Mesos supports all three methods; I don't really know which one is
> most frequently used but, if you don't have specific requirements,
> then I suggest cpu.shares (the default, provides fair proportional
> sharing of CPU) or cpu.cfs_quota_us (provides a hard upper bound on
> CPU).
>
> Use the --cgroups_subsystems flag to select between the "cpu" (for
> cpu.shares and cpu.cfs) or the "cpuset" cgroup subsystem. If you
> select the "cpu" controller then you can enable cfs with the
> --cgroups_enable_cfs flag. If you use cfs then it will still set the
> cpu.shares values. All of this is determined in
> CgroupsIsolator::initialize() using the flags.
>
> Please ask further questions if this isn't clear.
>
> On Wed, Jan 22, 2014 at 7:41 AM, ricky l <ri...@gmail.com> wrote:
> > I have a question regarding CPU isolation policy of mesos using cgroup.
> In
> > cgroup, there are multiple cpu resource isolation policies - controlling
> > "cpu.shares", quota ("cpu.cfs_quota_us"), or cpu core binding
> > ("cpuset.cpus"). Among them, which method does mesos mainly use? I read
> the
> > CgroupsIsolator class in the source code, but it seems to set all three
> > values. thanks in advance.
> >
> > -r
>
Re: cgroup cpu isolation policy
Posted by Ian Downes <ia...@gmail.com>.
Mesos supports all three methods; I don't really know which one is
most frequently used but, if you don't have specific requirements,
then I suggest cpu.shares (the default, provides fair proportional
sharing of CPU) or cpu.cfs_quota_us (provides a hard upper bound on
CPU).
Use the --cgroups_subsystems flag to select between the "cpu" (for
cpu.shares and cpu.cfs) or the "cpuset" cgroup subsystem. If you
select the "cpu" controller then you can enable cfs with the
--cgroups_enable_cfs flag. If you use cfs then it will still set the
cpu.shares values. All of this is determined in
CgroupsIsolator::initialize() using the flags.
Please ask further questions if this isn't clear.
On Wed, Jan 22, 2014 at 7:41 AM, ricky l <ri...@gmail.com> wrote:
> I have a question regarding CPU isolation policy of mesos using cgroup. In
> cgroup, there are multiple cpu resource isolation policies - controlling
> "cpu.shares", quota ("cpu.cfs_quota_us"), or cpu core binding
> ("cpuset.cpus"). Among them, which method does mesos mainly use? I read the
> CgroupsIsolator class in the source code, but it seems to set all three
> values. thanks in advance.
>
> -r