On Tue, Jun 3, 2008 at 11:02 AM, Murray Lang <<a href="mailto:murray.lang@bbnet.com.au">murray.lang@bbnet.com.au</a>> wrote:<br><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Anyway, it eventually occurred to me that if the connectors were queues and the calculation modules called by a central executive in a daisy chain then the whole thing was just a cooperative multitasking system. So in essence what I am looking to achieve is GNU Radio Lite, with the flow graph being just the arrangement of tasks. It probably won't stand up to any scrutiny.</blockquote>
<div><br>One last observation about this, and then I will retire from haranguing you and the group.<br><br>Is there some reason the connections can't be messages?  That kind of IPC is not incompatible with cooperative multitasking, as shown by, for example, GNU pth.<br>
<br>My interest in this approach was piqued especially by the way Erlang handles messages with large binary payloads. In Erlang, when the sending and receiving processes live within the same node -- essentially, when they share an address space, as threads do within single processes -- then payloads over a certain size aren't copied, they're stored on a special heap, and the messages point to the heap locations. What makes this "safe" is that the receiving process can't modify the payload. It does eliminate copying overhead associated with the message passing, though.<br>
<br>One can imagine constructing a pool of buffers, associating the buffers with messages, and endowing each calculation module with a mailbox of its own and the ID of its successor mailbox. Reordering the calculations would then amount to simply reassigning the successor mailboxes as needed. With one level of indirection this would allow restructuring the algorithms on the fly. Sequencing is thereby automatic, and there's no obstacle to making independent subgraphs that get scheduled cooperatively.<br>
<br>Anyway, enough public rumination. Thanks for the chat.<br><br>73<br>Frank<br>AB2KT<br></div></div><br>-- <br>The only thing we have to fear is whatever comes along next. -- Austin Cline