www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Parallel Programming with Transactions

reply serg kovrov <sergk mailinator.com> writes:
A blog entry on Research Intel - Parallel Programming with Transactions:
http://blogs.intel.com/research/2008/02/parallel_programming_with_tran.php

I wonder if one day D's `synchronized` could be used the same way as 
proposed in article `atomic` statement?

I understand that this is rather runtime library feature but still, it 
would be nice to know that today's language constructs semantically 
ready to the point then compiler/lib could automagically parallelize 
code written today.

-- serg
Feb 27 2008
next sibling parent Robert Fraser <fraserofthenight gmail.com> writes:
serg kovrov wrote:
 A blog entry on Research Intel - Parallel Programming with Transactions:
 http://blogs.intel.com/research/2008/02/parallel_programming_with_tran.php
 
 I wonder if one day D's `synchronized` could be used the same way as 
 proposed in article `atomic` statement?
 
 I understand that this is rather runtime library feature but still, it 
 would be nice to know that today's language constructs semantically 
 ready to the point then compiler/lib could automagically parallelize 
 code written today.
 
 -- serg

It was discussed at the conference, all that time ago: http://s3.amazonaws.com/dconf2007/DSTM.ppt
Feb 27 2008
prev sibling parent Dan <murpsoft hotmail.com> writes:
serg kovrov Wrote:

 A blog entry on Research Intel - Parallel Programming with Transactions:
 http://blogs.intel.com/research/2008/02/parallel_programming_with_tran.php
 
 I wonder if one day D's `synchronized` could be used the same way as 
 proposed in article `atomic` statement?
 
 I understand that this is rather runtime library feature but still, it 
 would be nice to know that today's language constructs semantically 
 ready to the point then compiler/lib could automagically parallelize 
 code written today.
 
 -- serg

The problem with parallel programming in it's current incarnation is that most of the algorithms were designed by Java Programmers, which is only a slight improvement on HTML Web Designers - the point being that they've never read a hex number in their life let alone seen machine code. I like locking only for allocate, free, and share; and then having each thread handle it's own stuff otherwise. Done properly, spin locks will only loop if another thread has successfully passed the gate first - removing deadlock and naturally resolving most livelock conditions. They're also markedly easier to implement with the device only weighing about 40-100 bytes. Regards, Dan
Feb 27 2008