[Flow-based-pgmg-list] Stackless
Status: Beta
Brought to you by:
jpaulmorrison
From: Paul M. <pau...@ro...> - 2004-12-05 16:23:01
|
Hi Wolfgang, I guess our notes crossed in mid-air! Maybe the wiki will be a better place to exchange information...? When I get your comments, I will post them there. > Can it handle more than a very limited quantity of concurrent threads? > Stackless can easily handle hundreds of thousands of concurrent tasklets on common desktop hardware. You're probably right - I had to guess at the size of each stack, and picked an arbitrary 4K bytes. So that would limit one to 2 ^ 20 tasklets, with nothing else in the machine... Is my arithmetic right? However, I also get a flavour that the tasklets typically run for a much shorter time than FBP processes - more similar to the FBP "non-looping" mode. While FBP supports both "looping" and "non-looping" modes, over the years, I have found the looping mode somehow brings out more clearly the architecture of FBP, and in fact business apps built with FBP rarely seem to exceed 50 or 60 threads. I would assume that in Stackless, all storage must be allocated explicitly, or does each tasklet get a chunk of local storage? One point of convergence is that I have been thinking for a while that FBP would be cleaner if you only allowed a thread's main-line (not subroutines under it) to do sends and receives, so the amount of stack that has to be saved across context switches would be considerably smaller. Hope this makes sense, Regards, Paul -- http://www.jpaulmorrison.com/ |