[Stackless] Newbie questions
hinsen at cnrs-orleans.fr
Mon Feb 17 12:12:20 CET 2003
On Sunday 16 February 2003 20:42, you wrote:
> > So when do task switches occur? Only when channel operations are called?
> Yes, or when you call schedule().
OK, that's at least a simple model, which is always a good idea.
> > But the object ids are not the same as the ones of the sent objects - as
> > I just discovered experimentally.
> Then either you or me must have made a mistake.
> The channels do not create any objects.
My current opinion is that you are right.
> > more "virtual" processors than real ones. Each real CPU measures the time
> > spent on dealing with each "virtual" CPU, and once in a while the real
> > CPUs exchange virtual CPUs among each other to equalize CPU load.
> Ok. With multiple processors, what about the GIL?
No problem, every real processor will run a separate Python process anyway.
> Ok, if you don't need total parallism yet, it is fine.
> Using many tasklets per CPU, and one Python process
> for very CPU might be some way.
That is exactly what I am planning to do. The additional virtual processes
exist only for load balancing.
> It has been implemented for Stackless 1.0 by twinsun.
> With 2.0, it was too hard to support. 3.0 will get
> the stuff back that is needed for pickling.
> I don't know exactly when I get to this. Probably,
> when 3.0 is out, they will help with it.
OK, I'll follow the developments.
More information about the Stackless