Date Sun, 19 Aug 2001 23:11:02 +0200 From Otto Wyss <>
I recently wrote some small files to the floppy disk and noticed almost nothing
happened immediately but after a certain time the floppy actually started
writing. So this action took more than 30 seconds instead just a few. This
remembered me of the elevator problem in the kernel. To transfer this example
into real live: A person who wants to take the elevator has to wait 8 hours
before the elevator even starts. While probably everyone agrees this is
ridiculous in real live astonishingly nobody complains about it in case of a disk.

Why don't have bits the same rights as humans! ;-)

I know this waiting period should help the elevator algorithm to choose a better
service. But is this really true? Lets assume the following situations:

1. Just a few persons/time period wants to use the elevator. The elevator just
service each person since no other is waiting for its service.

2. A rather lot of persons/time period wants to use the elevator, of course the
elevator can't now service all immediately. But now since accumulation starts
the elevator can improve its service which of course reduces the accumulation
which decreases its service and so on.

3. More persons/time period than the elevator can service wants to use it, the
accumulation always gets higher. Now the elevator works as if it has been given
a large accumulation time. Hopefully this situations doesn't persist or the
system itself gets broke.

Now of course a waiting time helps to push the elevator service into situation 3
even if service request are still in situation 2 or 1. Also real elevators have
this waiting time, it's starts when the first person enters and choose his
destination until it has missed the next person (either direction or already
passed). A rough estimate gives a waiting time in the range of about an average
service time.

If I assume an average service time for bits (disk access) of about 10ms around
3000 service requests could be accumulated before any service starts. Now I dare
to question that even the best elevator algorithm is able to optimize more than
20 service requests on a usefull base, so any waiting time above 200ms is simply useless.

Lets go back to situation 2. As we see accumulation happens on a "natural" way
which imposes a certain waiting time. I guess this alone gives a service which
is at least as good as halve of the best service.

Could anybody produce any real figures to prove/disprove my theory? Could
anybody benchmark the disk access for the 3 waiting times (0, 200ms 30sec) with

O. Wyss