On Sat, Jun 11, 2005 at 02:23:10PM -0700, Chip Salzenberg wrote:
: STM is Software Transactional Memory. It's wicked cool. Really.
: Google it. You'll be glad you did.
I'm particularly interested by the scalability of
http://www.cambridge.intel-research.net/~rennals/faststm.html
(There's an implementation on Source Forge as well.)
: BTW, if you're wondering how this can work efficiently in Parrot:
: Remember that threading contention only applies to those variables
: which are marked 'shared'. So the STM system need only look at their
: accesses transactioned.
On the other hand, some of the parallelizable primitives we're
building into Perl 6 (junctions, hyperops, and especially pipes) may
well induce more accidental "sharing" than appears on the surface
(think of a lexical that is visible to both ends of a pipeline).
So STM is probably a good direction to be moving in any case.
And if we need special syntax to keep such accidental sharing under
control, now would be a good time to discover that rather than later.
[Note: followups directed to p6l by default.]
Larry