并行离散事件模拟与一维声波模拟研究
1. 并行离散事件模拟
在并行离散事件模拟中,考虑飞机到达时间的问题。若飞机原计划到达时间为 (t),当考虑一个时间增量 (\Delta t) 时,飞机的到达时间变为 (t + \Delta t)。在保存状态时考虑 (\Delta t) 能避免算法进行不必要的回滚操作。整体模拟时间与 (\Delta t) 的值存在一定的依赖关系。该模型假设三个城市间的距离以及旅行时间是相同的。模拟时间的减少不仅是因为算法效率的提高,还由于模型中事件数量的减少。在飞机数量固定的情况下,更长的旅行时间会使同一时间段内的起飞和到达事件数量减少。
单线程模型转换为分布式模型已被证明是有效的。通过使用更智能的算法和宽松的同步机制,还能进一步提升效果。例如,若飞机下午 1:00 到达城市,但该城市时间为下午 1:10,就会出现因果关系问题。若时间差可忽略不计,模型可以跳过回滚操作,直接在下午 1:10 处理该飞机,这与现实中飞机晚点到达的情况类似。忽略时间差并稍后处理飞机能避免在回滚操作上浪费 CPU 时间。
对于某些基于代理的模型,仅在发送消息时保存模型状态并使用乐观算法可能效果不佳。比如子模型之间的消息量较少,但中间计算量较大时,一旦发生回滚,就会损失大量计算结果。此时,子模型可以扩展为在向其他子模型发送消息的间隔期定期保存状态。
为了进一步优化,计划扩展模型,使其具备在不同同步算法之间切换的能力。算法的基本版本将添加额外的智能元素,如宽松同步。目前已实现了部分库模块,每个模块都有图形界面,可用于将单线程的 AnyLogic 模型清晰地转换为分布式 AnyLogic 模型。该库不仅在计算机网络上运行模型时能显著提高性能,在多核处理器上运行时同样有效
超级会员免费看
订阅专栏 解锁全文
2080

被折叠的 条评论
为什么被折叠?



