[Stackless] multi-core processing?
Neutral Robot Boy
neutralrobotboy at gmail.com
Sun Jun 15 05:27:35 CEST 2008
alright, so i'm still in 'beginner' mode with stackless here. i did a bit of
reading which suggested that stackless should be able to distribute
processing across multiple cores without trouble, and i decided to write a
really simple script and look at how much of a load it puts on my cpu. the
script is below:
import stackless
def testify(x, i):
n = 0
while n < x:
y = n * x
n += 1
stackless.schedule()
print 'done', i, '!'
stackless.tasklet(testify)(10000000, 1)
stackless.tasklet(testify)(10000000, 2)
stackless.tasklet(testify)(10000000, 3)
stackless.tasklet(testify)(10000000, 4)
stackless.run()
even though as i understand it stackless has an internal round-robin
scheduler, this seemed like the only way i could think of to try to get it
to distribute tasks across several cores. when i run this, however, i see a
lot of activity on one core and only a little bit of activity on a second
core. total cpu load taken up: 25% or so, never above. so i guess it's
obvious that i'm barking up the wrong tree with this idea. is there a way to
get stackless to distribute tasks across my cores more evenly? and if so, is
25% cpu load a hard-coded upper bound, or is the execution speed of the
script perhaps held up more by memory access, for example?
sorry to newb up the ml, just trying to get a grip on some of the basics
here.
= )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.stackless.com/pipermail/stackless/attachments/20080615/903f7f91/attachment.htm>
More information about the Stackless
mailing list