Re: AMIGA will use Linux, but Linux has several "multimedia-deficiencies"

Peter Mutsaers (plm@xs4all.nl)
11 Jul 1999 23:27:38 +0200


>> "DC" == Dave Cinege <dcinege@psychosis.com> writes:

DC> Simply put, Unix programs rarly are written with threads. They
DC> should be.

Why? Threads often cause more problems and inefficiencies than they
solve. It is perfectly possible to have only one process per CPU, then
use things like asynchronous I/O or software interrupts (such as
select() or whatever) instead of threads. This alleviates you from the
burden of thinking about shared memory, locking etc. which often gets
a mess and very very hard to maintain.

Also using only one process per CPU, you naturately get message
passing between these (relatively few) processes, whereas using lots
of threads you naturely get shared memory (since all threads, even
those on different CPU's, live in the same address space). Thus with
threads you get a different architecture, one that does *not scale*:
Maintaining cache coherency, sharing memory between CPU's creates an
enormous bandwidth demand and thus overhead when the number of CPU's
starts to grow.

Message passing architectures on the contrary scale well (depending on
the problem to solve of course) and may use 10's or 100's of CPU's
effectively.

-- 
Peter Mutsaers |  Abcoude (Utrecht), | Trust me, I know
plm@xs4all.nl  |  the Netherlands    | what I'm doing. 

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/