Re: interactive task starvation

Willy Tarreau
2006-03-21T12:59:21Z

On Tue, Mar 21, 2006 at 01:07:58PM +0100, Mike Galbraith wrote:
> On Tue, 2006-03-21 at 12:18 +0100, Ingo Molnar wrote:
>
> > great work by Mike! One detail: i'd like there to be just one default
> > throttling value, i.e. no grace_g tunables [so that we have just one
> > default scheduler behavior]. Is the default grace_g[12] setting good
> > enough for your workload?

The default values are infinitely better than mainline, but it is still
a huge improvement to reduce them (at least grace_g2) :

default : grace_g1=10, grace_g2=14400, loadavg oscillating between 7 and 12 :

willy@wtap:~$ time ls -la /data/src/tmp/|wc
2271 18250 212211

real 0m5.759s
user 0m0.028s
sys 0m0.008s
willy@wtap:~$ time ls -la /data/src/tmp/|wc
2271 18250 212211

real 0m3.476s
user 0m0.020s
sys 0m0.016s
willy@wtap:~$

I can still observe some occasionnal pauses of 1 to 3 seconds (once
to 4 times per minute).

- grace_g2 set to 0, load converges to a stable 8 :

willy@wtap:~$ time ls -la /data/src/tmp/|wc
2271 18250 212211

real 0m0.441s
user 0m0.036s
sys 0m0.004s
willy@wtap:~$ time ls -la /data/src/tmp/|wc
2271 18250 212211

real 0m0.400s
user 0m0.032s
sys 0m0.008s

I can still observe some rare cases of 1 second pauses (once or twice per
minute).

- grace_g2 and grace_g1 set to zero :

willy@wtap:~$ time ls -la /data/src/tmp/|wc
2271 18250 212211

real 0m0.214s
user 0m0.028s
sys 0m0.008s
willy@wtap:~$ time ls -la /data/src/tmp/|wc
2271 18250 212211

real 0m0.193s
user 0m0.032s
sys 0m0.008s

=> I never observe any pause, and the numbers above sometimes even
get lower (around 75 ms).

I have also tried injecting traffic on my proxy, and at 16000 hits/s,
its does not impact overall system's responsiveness, whatever (g1,g2).

> I can make the knobs compile time so we don't see random behavior
> reports, but I don't think they can be totally eliminated. Would that
> be sufficient?
>
> If so, the numbers as delivered should be fine for desktop boxen I
> think. People who are building custom kernels can bend to fit as
> always.

That would suit me perfectly. I think I would set them both to zero.
It's not clear to me what workload they can help, it seems that they
try to allow a sometimes unfair scheduling.

> -Mike

Cheers,
Willy