develooper Front page | perl.perl6.language | Postings from June 2005

Re: [perl #36250] [TODO] STM threading design

From:
Larry Wall
Date:
June 11, 2005 19:48
Subject:
Re: [perl #36250] [TODO] STM threading design
Message ID:
20050612024846.GA19449@wall.org
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



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About