Threadpools, difference between DMD and LDC

Dicebot via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Aug 4 11:34:44 PDT 2014


On Monday, 4 August 2014 at 18:22:47 UTC, Russel Winder via 
Digitalmars-d-learn wrote:
>> Actually with CSP / actor model one can simply consider 
>> long-running CPU computation as form of I/O an apply same 
>> asynchronous design techniques. For example, have separate 
>> dedicated thread running the computation and send input there 
>> via message passing - respond message will act similar to I/O 
>> notification from the OS.
>
> Now you are on my territory :-) I have been banging on about 
> message
> passing parallelism architectures for >25 years, but sadly 
> shared memory
> multi-threading became the standard model for some totally 
> bizarre
> reason. Probably everyone was taught they had to use all the 
> wonderful
> OS implementation concurrency techniques in all their 
> applications
> codes.

Well it is a territory not completely alien to me either ;) I am 
less aware of academia research on topic though, just happen to 
work in industry where it matters.

I think initial spread of multi-threading approach has happened 
because it was so temptingly easy - no need to worry about 
actually modelling the concurrency execution flow, blocking I/O 
or scheduling; just write the code as usual and OS will take care 
of it. But there is no place for magic in programming world in it 
has fallen hard once network services started to scale.

Right now is the glorious moment when engineers are finally 
starting to appreciate how previous academia research can help 
them solve practical issues and all this good stuff goes 
mainstream :)

> There have been a number of PhDs trying to provide tools for 
> deciding
> which parallelism architecture is best suited to a given 
> problem. Sadly
> most of them have been ignored by the programming language 
> community at
> large.

Doubt programming / engineering community will ever accept 
research that states that choosing architecture can be done on 
pure theoretical basis :) It simply contradicts too much all 
daily experience which says that every concurrent application has 
some unique traits to consider and only profiling can rule them 
all.


More information about the Digitalmars-d-learn mailing list