我们有一个单线程应用程序,可以模拟数十万个对象随时间与共享内存模型的交互。
显然,它无法在多 CPU 硬件上扩展。
在阅读了一些关于基于代理的建模和函数式编程/演员模型之后,我正在考虑使用消息传递范式进行重写。
这个想法非常简单——每个对象都是一个演员,它们的交互将是消息,这样模拟就可以并行发生。在特定时间给定对象的配置 - 它的未来后果可以很容易地计算出来。
问题是如何对时间进行建模:
例如让我们假设对象 X 的行为取决于 A 和 B,因为不能保证参与者和消息的计算顺序可能是当要计算 X 时 A 已经发送它给 X 的信息,但 B 没有。如何确保计算正确发生?
我希望问题很清楚
,谢谢。