<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Hi Christian:<br></span></div><div><br></div> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Christian Tismer <tismer@stackless.com><br> <b><span style="font-weight: bold;">To:</span></b> Armin Rigo <arigo@tunes.org> <br><b><span style="font-weight: bold;">Cc:</span></b> Andrew Francis <andrewfr_ice@yahoo.com>; "stackless@stackless.com" <stackless@stackless.com>; PyPy Developer Mailing List <pypy-dev@python.org> <br> <b><span style="font-weight: bold;">Sent:</span></b> Wednesday, April 4, 2012 6:47 AM<br> <b><span style="font-weight:
bold;">Subject:</span></b> Re: [pypy-dev] The Work Plan Re: STM proposal funding<br> </font> </div> <br>
...<br><br>>Anyway, the underlying ideas have similarities that make me think a lot.<br><br>>Thinking of Stackless, I was looking for a way to isolate tasklets in<br>>a way to let them run in parallel, as long as they are independent.<br><br>>In STM, independence is enforced, currently at a relatively high<br>>price.<br><br>>If Stackless were able to provide some better isolation by design,<br>>maybe there could be a hybrid approach, where most operations would<br>>not need to rely on STM all the time?<br><br>>Just rolling ideas out -- Chris<br><br>The idea I like the most is to use STM and lock-free algorithms for the implementation of the<br>channels themselves. Again, the Scalable Join Patterns and Parallel ML papers are the inspiration<br>
for this approach. In contrast I have looked at Go's channel implementation and it has to do stuff like sorting to get the correct locking order. What I like is that the approach assumes that Stackless programmers know how to write programmes that are fairly isolated. <br><br>One could experiment with this approach using the low-level rstm module or prototypes written in C using<br>existing STM and lock-free libraries.<br><br>Cheers,<br>Andrew<br><br><br><br><br><br> </div> </div> </div></body></html>