I've been vaguely watching this discussion -- and I think there might be a bit
of a communication mismatch....  pardon me if I'm wrong -- I'm probably
not paying enough attention...but....

Stackless was not really designed to be the "OS kernel layer" to a generic
everyone-writes-their-own-tasklets-they-all-run-together sort of system.

Stackless started as a sort of non-religious set of smallest changes to
C-Python to allow you to build  many such systems of different kinds.
(along lots of dimensions: preemptive/cooperative, coroutines/micro- thread, resource-driven, priority-managed, arbitrary generator, producer/ consumer etc...)

So, Larry, I think if you say "I want Stackless to be X" -- the folks on
this list are vaguely going to think... "well it can already do that; you
just need to write some python code and then standardize on it",
and you would respond (somewhat correctly): "Well, *that* isn't
very user-friendly; nor is it a very good  architecture!"

Stackless does sort of suffer, in explanation, by not having a
*standard* and *prominent* more abstract layer...
very early on there was a "uthread" module that was such a thing...
now there are lots of different "demos" floating around...

-Jas

On Oct 17, 2008, at 10:33 AM, Larry Dickson wrote:

Hi Andrew,

We seem to have different ideas of what is simple. You propose exceptions, waits, signals, barriers, re-initialization, and presumably global signal values. This in my opinion is a whole Italian restaurant of spaghetti, and it sounds intrinsically global, which is poison to maintainable multiprocessing in my experience. Of course I could be wrong, having little experience with your way of doing things, except for standard C/Linux signals. (Have you ever tried setting anything up with occam manager and workers?)

The beauty of toplevel (stackless in the generic sense) processes communicating through channels is that they do not have to share resources OR KNOWLEDGE with other black boxes of the same construction but totally different function and/or history. This is what drivers try to be but never succeed. A manager based on ALT (or stackless_receive_first) can manage several of these black boxes - possibly of completely different types, like ethernet and disk - and apply optimal strategies to the data flow without digging deep into the driver code. But it has to be toplevel, not nested down deep like standard drivers.

Larry

_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to