[ODE] Deterministic simulation on multiple clients
Henrik Grimm
hengr at hotpop.com
Sat Mar 19 14:44:15 MST 2005
Hi,
I have a question about deterministic simulation in ODE. We want to run
the same simulation on multiple computers, where every computer shows a
different view of the scene. We use a client/server architecture where
the server regularly sends inputs and time-information to the clients.
Now, this works perfectly when I run the simulations on the same
computer. However, when I run it on multiple computers it only works
sometimes. The interesting thing is that the simulations either start to
diverge directly or not at all. This seems to imply that something in
the initialization of our applications may behave differently on the
different clients. This could for example be non-deterministic execution
orders, but then I think it should also show up when I run it on one
computer. Another reason may be that the clients' local clocks are used
to initialize something (like seeding a random number generator). I have
looked in the source code of Ode to see how the RNGs are initialized,
but it doesn't look like time is involved anywhere.
Perhaps the problems are in the renderer we use (Ogre and OgreOde).
However, when I run on one computer I have tried to do different
rendering behaviour on the simulations (like only rendering every second
frame on one of them) and they still stay synchronized. So the rendering
doesn't seem to have any side-effects on the simulation.
So my question is if anyone has any ideas of what is causing this
simulation divergence, or any tips of how I can debug it.
/Henrik Grimm
More information about the ODE
mailing list