【发布时间】:2012-11-13 02:02:01
【问题描述】:
我们有一个单线程应用程序,可以模拟数十万个对象随时间与共享内存模型的交互。
显然,它无法在多 CPU 硬件上进行扩展。
在阅读了一些关于基于代理的建模和函数式编程/参与者模型的内容后,我正在考虑使用消息传递范式进行重写。
这个想法很简单——每个对象都是一个actor,它们的交互将是消息,这样模拟就可以并行发生。在特定时间给定对象的配置 - 可以轻松计算其未来的后果。
问题是如何建模时间:
例如,假设对象 X 的行为取决于 A 和 B,因为无法保证参与者和消息的计算顺序,可能是当要计算 X 时,A 已经将其消息发送给 X,但 B 没有.
如何确保计算正确发生?
我希望问题很清楚
提前致谢。
【问题讨论】:
标签: functional-programming simulation actor