Auto-Adaptive scheduler and semaphore patch ( 2.2.14 ) ...
Davide Libenzi
dlibenzi en maticad.it
Mar Ene 25 00:19:06 CST 2000
Hi guys,
this is the first version of the auto-adaptive scheduler whose
target is to maintain the same performance under low workloads
and boosts under high ones.
It uses the linear-scheduler ( current one ) implementation for low workloads
and switch to the cluster-scheduler under high workloads.
The cluster-scheduler boot at an entry point and after a delay time that can be
made software adjustable ( proc fs as an example ).
The patch also contain :
<OLDDESC>
* A clustering subdivision of processes in function of their goodness
This avoid the linear scan of the running queue to find the
next process to run.
My test prove that even in high workloaded environment
not more than two goodnesses are calculated.
* As IBM guys suggested I've reorganized a bit the fields in task_struct
to reduce the cache footprint
* A wake_up patch that has the goodness calculation inside it.
This avoid flushing all waiting threads onto the scheduler
shoulders.
IMVHO this is better than the current because avoid the thread
flushing, and is better then a simple FIFO coz it try to select the
best taks to run.
This is 100% precise in UP while it's not in SMP due to the fact
that we don't know which CPU will reschedule the task.
Anyway even if in SMP the precision is not 100%, it's better
than FIFO.
</OLDDESC>
I'm just setting up an lmbench for this patch and I'll post results
as long as a doc describing the patch, as soon as test is completed
( and doc too ).
I'll be happy if other guys will give it a try ;)
Davide.
--
All this stuff is IMVHO
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: adapt-sched-2.2.14.gz
Type: application/x-gzip
Size: 6039 bytes
Desc: no disponible
URL: <https://lists.srvr.mx/pipermail/ayuda/attachments/20000125/6506d776/attachment.bin>
Más información sobre la lista de distribución Ayuda