Will D 2.0 concurrency be supported between processes?

retard re at tard.com.invalid
Tue Jan 19 13:49:40 PST 2010


Tue, 19 Jan 2010 11:02:08 -0800, Andrei Alexandrescu wrote:

> retard wrote:
>> Tue, 19 Jan 2010 08:32:19 -0800, Andrei Alexandrescu wrote:
>> 
>>> Michal Minich wrote:
>>>> Will the currently-being-designed message-passing concurrency be
>>>> supported between OS processes? Or only OS threads supported is
>>>> planned? Others may be probably interested in: light-weight threads,
>>>> cooperative concurrency and communication through network? If the
>>>> implementation is not planned for initial release, is it planned for
>>>> foreseeable future?
>>>>
>>>> Thank you for answer.
>>> Right now we don't have time to focus on more than inter-thread
>>> communication. Sean and I had a pow-wow last week and decided we don't
>>> have the resources to address more than that. But definitely the
>>> design has an eye on future extensibility, of which inter-process
>>> communication is an obvious extension.
>>>
>>> Andrei
>> 
>> I haven't seen a single mention of what kind of algoritms can be solved
>> efficiently with this framework. Is it good for parallel algorithms
>> like parallel matrix multiplication, merge sort, producer/consumer
>> problems, serving web pages, rendering fractals, blitting images,
>> parallel parsing, handling RPC or GUIs?
> 
> Must mean you haven't looked. Message passing is a well-understood
> paradigm.

You gotta be kidding. If the message passing framework abstracts away all 
information about communication latencies, how can one tune the algorithm 
to take advantage of data locality? I have both knowledge of theoretic 
models such as Hoare's CSP and practical systems such as MPI and MPI-2. I 
just want to know how your system maps 2+ processes to data parallel SSE 
instructions when data locality is very high, to threads with shared 
memory when the locality is a bit lower and how it groups execution into 
larger chunks on NUMA and multi-computer clusters. Does it handle this 
all internally when you run a foreach loop or do you have more fine-
grained control over data?



More information about the Digitalmars-d mailing list