Subject RE: [IB-Architect] trouble with sweep
Author pschmidt@interlog.com
On 18 Oct 2002 at 17:10, Leyne, Sean wrote:

> I'm not so sure that the design/idea of the GC thread is such a bad
> idea. It seems reasonable that the server idle time should be used to
> perform and valuable task -- clean pages is a 'good thing', in favour of
> improving the speed or readers and writers.
>
> The problem obviously comes when the server is so busy that the idle
> time is limited and the list of dirty pages gets bigger and bigger.
>

I think a bigger problem is not so much garbage collection, but that eventually a
sweep will take place and force the issue, and when that happens CPU utilization
shoots up to 110% and it gets slower then a Citroen 2CV trying to pull a fully loaded
transport trailer :-) Part of this, is that you need a good definition of idleness, at
what level of load, can we afford to give the GC thread a few cycles, and when can
we not afford to.

For example, the system keeps a counter of the page reads and writes, and every
30 seconds it divides the total by 30, giving the read/writes per second, it then
clears the counter. If this number is below a certain user definable number say 50,
then it can give the GC thread a higher priority, if the number is above another
number, say 100 then it give it a low priority, if it's between the 2 numbers, it has the
same priority as the worker threads.