[Stackless] Newbie questions
psheer at icon.co.za
Mon Feb 17 17:17:59 CET 2003
> for the moment is all the available documentation. BSP divides a computation
> in consecutive "compute" and "communicate" steps.
the big question is "how do you determine the granularity
of the communicate-compute cycle so that you are not stuck
back with the same problem as you had with ordinary threads?"
can you please go to threading.2038bug.com and tell me if you
have any comments? i will be adding BSP to the list of links
my phd will be to create a compiler that compiles ansi-C code into
ansi-C code that can be executed as multiple tasklets under the
same process. it will do this by "unrolling" all the code around
a central loop, and encapsulating stack access within structures
so that each tasklet is free from dependence on the C stack.
> One of the advantages is
> that communication is simple to implement, and easy to optimize.
> My next project is automatic load balancing. The idea is to have many 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.
> The obvious solution for each "virtual" CPU would be a thread. But there are
> two problems: Many low-level communications libraries don't coexist well with
> threads, and there is a significant overhead, which is completely unnecessary
> because pseudo-simultaneous execution is not even required, only the
> possiblity of task switches. Which is where Stackless comes in. I plan to
> make each virtual CPU a tasklet, which runs atomically most of the time,
> until it reaches the communication step and waits.
> BTW, I saw hints about thread pickling, is that a reality already? It could be
> useful in moving threads between CPUs.
> Stackless mailing list
> Stackless at www.tismer.com
Stackless mailing list
Stackless at www.tismer.com
More information about the Stackless