Hi Armin:

On Thursday, October 24, 2013 4:38 AM, Armin Rigo <ar...@tunes.org> wrote:
 

>  I can't answer your questions without

>knowing exactly what you're planning.  Sorry if I forgot, I know you
>mentioned it several times here.  I still have a hard time figuring
>out the real goal, rather than implementation details.  For example,
>"I want to implement what is described in paper X about language Y" is
>often unrelated to "can I use pypy-stm's GIL approach".

The University of Chicago/Microsoft Research paper "Scalable Join Patterns" 
(http://www.mpi-sws.org/~turon/scalable-joins.pdf) outlines an approach for 
implementing join patterns using essentially lock-free bags, optimistic locking 
and techniques for guaranteeing liveness. For the sake of this discussion, 
ignore the term "join pattern" : substitute it with "channel."

A bit more context - I have looked at the C code for the Go channel 
implementation and said "wow, there is a lot of locking there"! I also have 
been following conversations concerning race conditions and the race detector 
(based on thread sanitizer) and asking myself: pypy-stm could do this.

For some experiments, I want pypy-stm for two reasons:

1) There is no GIL so I can compare the results of say a lock-free queue to 
say, Python thread-safe queues (I am not sure of their utility in pypy-stm).

2) I may need some of pypy-stm's functionality.

Is there anything wrong with this reasoning?

>rpython.rlib.atomic_ops.  

Yes.

>Note however that the core of pypy-stm is directly implemented in C, not >in 
>RPython.

Okay I'll look at the code. A little while back I looked at RSTM.
>I guess not right now, but that should be easy if someone cares.

I care. What do I need to look at?

Cheers,
Andrew
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to