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