Parallel programming
Markus Koskimies
markus at reaaliaika.net
Tue Jul 15 18:15:23 PDT 2008
On Wed, 16 Jul 2008 00:53:28 +0000, Sean Kelly wrote:
> == Quote from Markus Koskimies (markus at reaaliaika.net)'s article
>>
>> If I would asked to say what is the way of writing future programs, I
>> would say it is MPS (Message Passing Systems), refer to e.g. Hewitt's
>> Actor Model (1973).
>
> I agree completely. MP is easy to comprehend (it's how people naturally
> operate) and the tech behind it is extremely well established.
I couldn't agree more. MP is very natural way for us humans to organize
parallel things. But there is even more behind it; the very fundamental
reason that restricts computers to come PRAM machines is this our world
around us. It restricts all physical machines, including computers to
maximum of three spatial dimensions, and inherently neighborhood
connected models; and those are very very far from ideal PRAM things...
> I remain
> skeptical that we'll see a tremendous amount of automatic
> parallelization of ostensibly procedural code by the interpreter (ie.
> compiler or VM). For one thing, it complicates debugging tremendously,
> not to mention the error conditions that such translation can introduce.
Another thing I completely agree. It is not about what could be ideally
best things, it is the reality that matters. Debugging a highly parallel
thing, e.g. FPGA hardware, is very, very time-consuming thing.
> As an potentially relevant anecdote, after Herb Sutter's presentation on
> Concur [...]
Many highly skillful people are very bound to the great ideas they have
in their mind. I'm not an exception :)
>> Furthermore, I would predict processors to start to do low-level
>> reconfigurations, e.g. RSIP (Reconfigurable Instruction Set Processor)
>> -paradigm. Look google for GARP and the awesome performance
>> increasements it can offer for certain tasks.
>
> Interestingly, parallel programming is the topic covered by ACM
> Communications magazine this month, and I believe there is a bit about
> this sort of hardware parallelism in addition to transactional memory,
> etc. The articles I've read so far have all been well-reasoned and
> pretty honest about the benefits and problems with each idea.
If reconfigurable computers - and more or less distributed computing -
does not come as next major processor architectures, I will go to some
distant place and shame. They are not ideal nor optimal computers, far
from that - programming one is very laborous and it is very hard for
compilers. But they just work.
More information about the Digitalmars-d
mailing list