[riot-devel] Distributed Messaging

Ludwig Ortmann ludwig.ortmann at fu-berlin.de
Tue Aug 13 17:02:23 CEST 2013


Hi,

I'm all for both, increasing the possible payload size and remote 
message delivery.

I guess it has some interesting challenges too .. for example all the 
challenges of routing ;-)

One immediate challenge (for the simple proxy thread/process without 
broadcasting) though: Where does TID_of_target_process come from?

Cheers, Ludwig


On 08/13/2013 03:51 PM, Kaspar Schleiser wrote:
> Heyya,
>
> (if you're on stablizing for the release, don't read this message until
> after the release)
>
> I've been thinking on how to implement distributed messaging, e.g., IPC
> between threads on different nodes.
>
> One idea I had was to just launch a proxy thread per connection and then
> use the normal IPC API.
>
> Example in Pseudocode:
>
> proxy_tid =
> setup_distributed_ipc(<whatever_network_address_of_other_node>,
> <TID_of_target_process>)
>
> ... Starts a new thread, sends something to the other node starting a
> corresponding proxy thread in the other node. Then the proxy-thread just
> relays all messages to the other proxy_thread over network, which in
> turn relays it to <TID_of_target_process>. The other thread can send
> messages the other direction the same way.
>
> A more sophisticated proxy thread could implement other messaging
> schemes like broadcasting.
>
> For distributed IPC to make sense, we need to extend messaging to
> support sized messages (e.g., bigger than 4 bytes / one value), as
> pointers don't make sense in a distributed environment.
>
> What do you think?
>
> Cheers,
> Kaspar
> _______________________________________________
> devel mailing list
> devel at riot-os.org
> http://lists.riot-os.org/mailman/listinfo/devel


More information about the devel mailing list