zeitbasierte Simulation mit Schauspielermodell

Wir haben eine einzelne Thread-Anwendung, die die Interaktion von hunderttausenden von Objekten im Laufe der Zeit mit dem Shared-Memory-Modell simuliert.
Offensichtlich leidet es unter seiner Unfähigkeit, über Multi-CPU-Hardware zu skalieren.

Nachdem ich ein wenig über agentenbasiertes Modellieren und funktionales Programmieren / Akteurmodell gelesen hatte, überlegte ich, es mit dem Paradigma der Nachrichtenübermittlung neu zu schreiben.

Die Idee ist sehr einfach - jedes Objekt wird ein Akteur sein und ihre Interaktionen werden Nachrichten sein, so dass die Simulation parallel stattfinden kann. Bei einer bestimmten Konfiguration von Objekten zu einem bestimmten Zeitpunkt können die zukünftigen Konsequenzen einfach berechnet werden.

Die Frage ist, wie man die Zeit modelliert:
Nehmen wir zum Beispiel an, dass das Verhalten von Objekt X von A und B abhängt, da die Reihenfolge der Akteure und der Nachrichtenberechnungen nicht garantiert ist, dass bei der Berechnung von X A seine Nachricht bereits an X gesendet hat, B jedoch nicht . Wie kann man sicherstellen, dass die Berechnung korrekt abläuft?

Ich hoffe die Frage ist klar
Danke im Voraus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage