问题:

  • 怎么是计算机模拟,通常是资源密集型的?

例如, Simul8:一个离散事件的模拟包-为什么是这个计算密集型的,什么因素(计算)有助于这个?

有帮助吗?

解决方案

离散事件的模拟是一个极为宽泛的术语;你可以模拟的任何东西从一个柠檬水站,一个跨国企业的交易和物流、以复杂的软件系统、新型计算机结构尚不存在(并且更复杂和高级比的计算机模拟运行).

我会用一个例子,从我的领域(计算机系统结构),但这种方法,它是大量的计算应当概括得相当好。很多时候,你正试图以模拟分布式系统,该系统的许多有独立代理他们自己的更简单的逻辑控制,这在一起实施一个非常复杂的动态。在这种情况下的计算系统,联合工作组的模拟器是至少一样大的建筑、microarchitectural,并存储器国家的所有构成成分的总合。如果每个成分,即使谦虚地复杂,这意味着你的时间和空间的地方为完成每一个时间步长的仿真是急剧下降。穷人利用缓存暗示需要通过运行的整个工作组的每一个时间步长可能会影响性能通过一到两个数量级。这种模式是不可避免的,因为运行每一组独立的多个步长和只合并的结果定期是有问题的,以及更多,所以更加复杂和联接系统。

此外,还经常想要保留所有种类的统计数据,介绍大量的额外空间和时间的开销上述部件的模拟。

总之,你的下限和复杂性的所有部件的模拟。在实践中,有一个很大的效率低下引入的,如果你有很多构成部分,如果您的组成更加复杂或者甚至基本上 不同的 于主机计算机的运行模拟,如果你有任何大量的仪器。

最后一件事:离散事件的模拟通常涉及将项目的队列中并找到它的队列中的地方请求的基础上追逐一堆的指针。这些行动是困难的并行,复杂事项进一步。然而,正如我早些时候提到的那样,术语"离散事件的模拟"可以涵盖任何东西从微不足道,不可能的,所以提取的一般模式是困难的。

其他提示

计算机模拟通常运行多个方案迅速和比较他们。

例如,金融模拟通常运行 蒙特卡洛的模拟 与许多成千上万的运行。

一个模拟可以典型地涉及 超过10,000评价的模式, 一个任务,这在过去只是 实际使用超级计算机。-http://www.vertex42.com/ExcelArticles/mc/MonteCarloSimulation.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top