计算机模拟:资源如何密集?

时间:2009-03-17 02:38:01

标签: computer-science simulation

问题:

  • 计算机模拟如何,通常是资源密集型?

例如,Simul8:离散事件模拟软件包 - 为什么计算密集,哪些因素(计算)对此有贡献?

2 个答案:

答案 0 :(得分:7)

离散事件模拟是一个非常广泛的术语;您可以模拟从柠檬水摊位到跨国企业的交易和物流,复杂的软件系统,到尚不存在的新型计算机体系结构(并且比模拟运行的机器更加复杂和先进)。

我将使用我的领域(计算机体系结构)中的一个示例,但计算成本高昂的方式应该相当好。很多时候,您正在尝试模拟一个分布式系统,这个系统有许多独立的代理,它们有自己更简单的控制逻辑,它们共同实现了一个非常复杂的动态。在计算系统的情况下,模拟器的组合工作集至少与组合的所有组成组件的架构,微架构和存储器状态一样大。如果每个组件都非常复杂,这意味着在完成模拟的每个时间步长时,您的时间和空间位置会大幅降低。每个时间步长需要运行整个工作集所暗示的缓存利用率较低,可能会影响性能一到两个数量级。这种模式是不可避免的,因为每个组件独立运行多个时间步,并且只定期合并结果是有问题的,而且系统越复杂和耦合就越多。

此外,您经常希望保留各种统计信息,这会在组件模拟之上引入相当多的额外空间和时间开销。

简而言之,您的下限是模拟所有组件的复杂性之和。实际上,如果你有很多组件,如果你的组件比运行模拟的主机更复杂或甚至更差,并且你有大量的组件,那么会引入很多低效率仪器仪表。

最后一件事:离散事件模拟通常涉及将项放入队列中,并根据追逐一堆指针来查找放置请求的队列。这些操作难以并行化,使事情进一步复杂化。然而,正如我前面提到的,术语“离散事件模拟”可以包含从微不足道到不可能的任何事情,因此很难提取一般模式。

答案 1 :(得分:1)

计算机模拟通常会快速运行多个场景并进行比较。

例如,财务模拟通常以monte-carlo simulation运行,运行数千次。

  

模拟通常可以涉及   超过10,000个模型的评估,   过去只是一项任务   实用超级电脑。    - http://www.vertex42.com/ExcelArticles/mc/MonteCarloSimulation.html