I have a hunch that Stefan is referring to the PhD thesis of Charlotte Herzeel without giving names. As far as I understood from my discussions with her (and her talks), it generally doesn't really pay off to automatically parallelize on branches. You get minimal speedups (1% at best).

I tend to agree with Stefan / Michael / Guy Steele... Maybe you don't need much, but the mapreduce style is the minimum requirement to give the language enough "wiggle room" to automatically parallelize stuff. But it DOES require you to restructure your application in a slightly more declarative fashion.

cheers,
Toon

On 04/29/2011 04:55 PM, Alexandre Bergel wrote:
Hi Stefan,

I though about your email. I do not understand why automatic parallelization is 
not the way to go. In my opinion, the computer has much more knowledge about 
the programmer about where side effects appear and where to cut or split a 
computation.

Actually, if I want to be provocative, I would say that parallelization cannot 
be effective without being automatic. For a similar reason that the compiler 
will always know better than me how to properly allocate registers.

I feel it would be cheaper for me to buy a faster computer than to learn how to 
program in a multi-core fashion.

Cheers,
Alexandre


However, as I understand it, it's entirely up to user to write code
exploiting parallel Process explicitly right ?
Sure, you have to do: n times: [ [ 1 expensiveComputation. ] fork ].

I don't belief in holy grails or silver bullets.
Automatic parallelization is something nice for the kids, like Santa Clause or 
the Easter Bunny...




Reply via email to