[Stackless] Santa concurrency problem

Brian Zimmer bzimmer at ziclix.com
Mon Mar 26 22:02:25 CEST 2007


I just tried your suggestion and also see a dramatic decrease in cpu 
usage.

thanks, brian

On Mar 26, 2007, at 12:55 PM, Carlos Eduardo de Paula wrote:

> What is taking a hit on CPU is the ManageSleepingTasklets tasklet, it
> gets that usage in its loop.
>
> What I can do for throttling the cpu usage is put a time.sleep(0.001)
> inside the while loop, with it we can have a decent precision on time
> (1 milisecond) and having the CPU at low usage...
>
> Maybe Richard can help us out about a cleaner solution on this...
>
> Carlos
>
> On 3/26/07, Santiago Gala <sgala at apache.org> wrote:
>> El lun, 26-03-2007 a las 15:46 -0300, Carlos Eduardo de Paula 
>> escribió:
>>> Hello Brian,
>>>
>>> Based on your code, I adapted it to an object oriented approach.. the
>>> functionality is the same but it looks "cleaner" for me... :)
>>>
>>> Its a great example and if you would permit, I can add it to the
>>> stackless examples project. (Both approaches if you want).
>>>
>>> The code is here:        http://dpaste.com/hold/7433/
>>>
>>
>> Something I don't completely understand.
>>
>> I have not yet tested the haskell version ,but I did it with the 
>> erlang
>> one, and both stackless versions.
>>
>> While the erlang version was not even noticeable in top, taking
>> negligible CPU time, both stackless versions were spinning to 100% CPU
>> (of one core, i.e. 50% system CPU time).
>>
>> Is that a bug in the stackless versions, in my setup, or what? given
>> that modern CPUs are bound to shut down if too hot, and the the erlang
>> looked faster to me, it looks like there is a bug either in stackless 
>> or
>> in the implementation.
>>
>> Regards
>> Santiago
>>
>>> Best regards,
>>>
>>> Carlos
>>>
>>> On 3/25/07, Brian Zimmer <bzimmer at ziclix.com> wrote:
>>>> Hello,
>>>>
>>>> I've been using Python for years but only recently started using
>>>> Stackless.  One of the current concurrency topics is the paper 
>>>> written
>>>> by Simon Peyton-Jones about STM in which he presents a concurrency
>>>> problem and provides Haskell code to solve it.  The Erlang list then
>>>> included a version in Erlang demonstrating a shorter, and perhaps 
>>>> more
>>>> readable, solution to the problem.  I'm including my Stackless 
>>>> version
>>>> as a comparison and also wish feedback on my use of Stackless since 
>>>> it
>>>> was my first stab at it.  I was thrilled to see I could schedule 10K
>>>> elves without a problem.
>>>>
>>>> The top of the Erlang code has a good description of the problem.
>>>>
>>>> Haskell:
>>>> http://research.microsoft.com/%7Esimonpj/papers/stm/#beautiful
>>>> Erlang:    http://www.cs.otago.ac.nz/staffpriv/ok/santa/santa.erl
>>>> Stackless: http://www.ziclix.com/software/santa.txt
>>>>
>>>> thanks, brian
>>>>
>>>>
>>>> _______________________________________________
>>>> Stackless mailing list
>>>> Stackless at stackless.com
>>>> http://www.stackless.com/mailman/listinfo/stackless
>>>>
>>>
>>> _______________________________________________
>>> Stackless mailing list
>>> Stackless at stackless.com
>>> http://www.stackless.com/mailman/listinfo/stackless
>>
>>
>
> _______________________________________________
> Stackless mailing list
> Stackless at stackless.com
> http://www.stackless.com/mailman/listinfo/stackless
>


_______________________________________________
Stackless mailing list
Stackless at stackless.com
http://www.stackless.com/mailman/listinfo/stackless



More information about the Stackless mailing list