Hi Christian and Folks:


>Message: 1
>Date: Fri, 03 Jan 2014 01:44:33 +0100
>From: Christian Tismer <[email protected]>
>To: The Stackless Python Mailing List <[email protected]>
>Subject: Re: [Stackless] pi-ton 2.9 / Gillesspie
>Message-ID: <[email protected]>
>Content-Type: text/plain; charset="utf-8"; Format="flowed"

>So if you just use mtasklets and no normal threads at all, you can run
>each of these super-threads
 in its own core, until you need to >communicate between these for some data 
exchange.

This is a variation of a question that I asked in the pypy mailing list. I am 
curious whether a minimum of new ideas can be introduced ( i.e., mtasklets). 
From my own experiments, I realise I added way too many right off the bat.

Let's pretend one does the following with Stackless Python.

1) Turn off the GIL.
2) Implement channels using some lock-free algorithm, say a lock-free queue.
3) Pass messages by reference.
4) Optional - allow a programmer to pass messages by value. So messages could 
be deep copied.

And maybe assume we are just dealing with Stackless in cooperative mode ...

Unlike say Go, let the programmers decide when they want to create a new thread 
(in Go, this is an "M"). All that is needed is that threads share channels. As 
for cores. I'll assume one can also have the programmer control thread affinity.

Would this work? How different would this be from Stackless Python as it now 
stands?

Cheers,
Andrew 
_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to