tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: revivesa status 2008/07/09



>>>>> On Thu, 24 Jul 2008 08:25:17 +0000, Andrew Doran 
>>>>> <ad%NetBSD.org@localhost> said:

>> - Do you have a real-world scenario, that is application, when you need many
>> threads on UP system which do not do any blocking (no I/O, no syscalls, no
>> or limited synchronisation)?

> As far as I can tell, this is the fictional application that M:N is targeted
> at: tens of thousands of threads running in userspace, doing nothing but
> synchronizing among themselves. In other words, an app that does nothing.

It's not right that the app does nothing.
For example, please think about UNIX pipeline, the processes which
construct the pipeline are doing work, but only two processes at
the left edge and the right edge of the pipeline are doing real I/O,
any other processes are just doing transformation of information and
synchronization.
The same thing can be done with threads instead of processes.
And all we know this model makes programming far much easier
than complicated single thread control structures.

> 10 years ago that might have seemed new and cool, even necessary, but people
> have begun to get to grips with multithreaded programming and it's now
> obvious that thread synchronization is to be avoided at all costs.

For applications like UNIX network servers, that is somewhat true (but
not entirely, I think.  But that's not issue in this particular mail).

But there are other sorts of applications like simulations, etc.
-- 
soda


Home | Main Index | Thread Index | Old Index