Re: [RFC] Fair-user scheduler

From: Eric Piel
Date: Fri Jan 26 2007 - 14:23:29 EST


01/26/2007 03:09 PM, Kirill Korotaev wrote/a Ãcrit:
Srivatsa,

Current Linux CPU scheduler doesnt recognize process aggregates while
allocating bandwidth. As a result of this, an user could simply spawn large number of processes and get more bandwidth than others.

Here's a patch that provides fair allocation for all users in a system.

Some benchmark numbers with and without the patch applied follows:


user "vatsa" user "guest"
(make -s -j4 bzImage) (make -s -j20 bzImage)

2.6.20-rc5 472.07s (real) 257.48s (real)
2.6.20-rc5+fairsched 766.74s (real) 766.73s (real)
1. If I interpret these numbers correctly, then your scheduler is not work-conservative,
i.e. 766.74 + 766.73 >> 472.07 + 257.48
why does it slow down users so much?
You can't measure work-conservation by summing! Everything is ran _concurrently_. A proof of losing computing power is to show "MAX(new_algorithm execution_times) > MAX(old_algorithm execution_times)". Anyway... it still seems lots of power is lost: MAX(766,766) >> MAX(472,257).

Actually, I'd be very interested by a "fairness number" and believe so far no one as proposed such thing. Probably needs to take into account the loss of CPU power and the variance of execution time in between the sets of tasks which are supposed to be fair.

2. compilation of kernel is quite CPU-bound task. So it's not that hard to be fair :)
Can you please try some other applications?
e.g. pipe-based context switching, java Volano benchmark etc.
Another worthy benchmark would be :
(make -s -j4 bzImage) vs (nice make -s -j20 bzImage)
^^^^


Regards,
Eric
-
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/