Re: IO throttling with CFQ IO scheduler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

On Tue, Apr 04, 2017 at 10:54:41AM -0700, Guang Yang wrote:
> I am experimenting the IO throttling with cgroups, with some good
> reading from online and experiments, I found that we have two options:
>  1. with CFQ IO scheduler, we can set a percentage of serving time one
> group can take, and if one group does not fully take its share, other
> (busy) group can steal the shares from the (ideal) group.
>  2. with deadline IO scheduler, we can set an absolute IOPS and
> bandwidth for one group, however, this does not consider the cost of
> serving the IO (e.g. sequential vs. random) and thus it is hard to
> give fair share between groups.

Yeah, that's correct.

> Neither one seems fully fit into our requirement - we hope that cost
> model is based on the serving time, at the same time, we don't have
> one group be able to steal share from the other.

I see.  You want time based control which isn't work-conserving.

> By looking online, not sure if I missed anything, I didn't see a way
> to configure cgroups IO throttling to achieve the above requirement,
> besides, if it is not supported now, is there anything on the roadmap
> to support it in the future?

It currently isn't supported and I don't think anyone is working on
implementing something like that.  For SSDs, we haven't found a way to
estimate the "serving time" in a scalable manner, so the outlook for
the time based scheduling / control doesn't look too bright.

It's a lot more cumbersome to configure but in a lot of cases limiting
both bandwidth and IOPS can be good enough in limiting usage to some
proportion across different workloads.

Thanks.

-- 
tejun
--
To unsubscribe from this list: send the line "unsubscribe cgroups" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux