Re: CFS scheduler unfairly prefers pinned tasks

From: Mike Galbraith
Date: Thu Oct 08 2015 - 21:57:09 EST


On Fri, 2015-10-09 at 08:55 +1100, paul.szabo@xxxxxxxxxxxxx wrote:
> Dear Mike,
>
> >>> I see a fairness issue ... but one opposite to your complaint.
> >> Why is that opposite? ...
> >
> > Well, not exactly opposite, only opposite in that the one pert task also
> > receives MORE than it's fair share when unpinned. Two 100$ hogs sharing
> > one CPU should each get 50% of that CPU. ...
>
> But you are using CGROUPs, grouping all oinks into one group, and the
> one pert into another: requesting each group to get same total CPU.
> Since pert has one process only, the most he can get is 100% (not 400%),
> and it is quite OK for the oinks together to get 700%.

Well, that of course depends on what you call fair. I realize why and
where it happens. I told weight adjustment to keep its grubby mitts off
of autogroups, and of course the "problem" went away. Back to the
viewpoint thing, with two users, each having been _placed_ in a group, I
can well imagine a user who is trying to use all of his authorized
bandwidth raising an eyebrow when he sees one of his tasks getting 24
whole milliseconds per second with an allegedly fair scheduler.

I can see it both ways. What's going to come out of this is probably
going to be "tough titty, yes, group scheduling has side effects, and
this is one". I already know it does. Question is only whether the
weight adjustment gears are spinning as intended or not.

> > IFF ... massively parallel and synchronized ...
>
> You would be making the assumption that you had the machine to yourself:
> might be the wrong thing to assume.

Yup, it would be a doomed attempt to run a load which cannot thrive in a
shared environment in such an environment. Are any of the compute loads
you're having trouble with.. in the math department.. perhaps doing oh,
say complex math goop that feeds the output of one parallel computation
into the next parallel computation? :)

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/