Hi Robert, 

my serialized sizes are:
Ascii format: 137 byte
binary format uncompressed 217 byte (!)
binary format compressed 107 byte.

6 Month ago, I implemented 2 prototypes (TCP, UDP) . My result was, that
TCP is not as fast as UDP, but it was the only possibilty to (nearly) sync  the 
different channel's swap at final draw callback.

On UDP I currently use broadcast, but thats not mandatory. Because of its 
unreliability, my UDP approach is fire and forget. So the slave tries to get as 
much as possible packets (to avoid framentation, the datacontainer must be 
smaller than the max payload of an UDP datagram) and uses the newest one for 
processing.

My TCP approach was to send the frame information at the beginning to all 
slaves, then waits for all slave to report as ready, and if every client is 
ready, the sends the swap command to all clients. This solution was quite slow, 
so at the moment I focus an a UDP solution. 

I don't know which functionalities you would include in a cluster Node.
Only transporting a transport container over network, or also complete frame 
sync?

In my application I use to callbacks, eventdraw callback and finaldraw callback.
At these two positions in the frame, the callbacks act depending of the role as 
master, slave or as standalone. They send information to slaves, receive 
information from master or do nothing.

To make the cluster transparent to the scenegraph independent from the role, I 
implemented a dataIO interface which they query. Beyond this interface, there 
is the cluster driver (slave) or cluster driver + externalLink driver (master).

The ladder connects the visual to its external control source, which can be a 
flighsimulator, a control program or anything else.

My current transport content is:
- viewmatrix
- variables which are used of my objects updater classes
- list of "executer" command, which can transport a command as enum and some 
parameter (e.g. to change weather at all clusternodes)

This is my current approach. My project will be openscource in some days/weeks 
(depends on my time to set up my trac environment).

Because you are under heavy load, maybe it is best If I continue my project, 
and when its published, you can take a look on it and we can discuss how man of 
the architecture could be abstracted, refactored to your wishes and included as 
cluster framework...


Thank you!

Cheers,
Torben

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=24437#24437





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to