| Subject: Multi-Tasking (was: boinc seti question) |
| From: david@djwhome.demon.co.uk (David Woolley) |
| Date: 24/03/2005, 07:28 |
If a machine is capable of multitasking, why is only one program running while
the others are sitting there ?
I can't work out how this relates to the current thread.
It's quite difficult to find a machine that is not capable of
multi-tasking. Did you really mean one which has multiple processors,
or did you mean running on an OS that supports multi-tasking on the
processor?
In general one would not want to multi-task typical distributed
computing applications, on a single processor, because multi-tasking
works by continually switching between the two and there is a cost in
performing the switch, and in the increased cache memory demands. If the
applications are such that they often require rather different resources
(typically I/O versus CPU) multi-tasking can allow both resources to
be more fully utilised, but typical distributed computing applications
dominantly use CPU time as their only resource and do not benefit.
SETI@Home is also quite a heavy memory accessor, so sharing the L2 cache
will also compromise its performance.
If you meant multi-processor systems, the most likely reason, with BOINC
for not using all the processors is that it has not been made aware of them.