This is the problem dealt with by the field of parallel and distributed simulation [1]. The two basic approaches are to either block the receiver until you can guarantee that a received message will not be displaced by one with earlier timestamp (conservative algorithms) or to speculatively handle messages and roll back if an earlier message ends up arriving (optimistic algorithms). If the simulation is stepwise, life is little bit easier compared to arbitrarily timestamped messages, but even then the questions of a "correct" ordering and the handling of conflicts must be dealt with. It's a pretty rich field, partially due to the often-unpredictable runtime behavior of simulation models and the challenge of balancing the generality of the algorithms with their efficiency for particular problem domains (such as the agent-based simulations discussed here).[1] https://doi.org/10.1109/WSC.2015.7408152
No comments yet.