【问题标题】:Computer simulation: How resource intensive?计算机模拟:资源密集程度如何?
【发布时间】:2009-03-17 02:38:01
【问题描述】:

问题:

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

例如,Simul8:离散事件模拟包 - 为什么计算量很大,哪些因素(计算)对此有影响?

【问题讨论】:

    标签: computer-science simulation


    【解决方案1】:

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

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

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

    简而言之,您的下限是模拟所有组件的复杂度之和。在实践中,如果您有许多组件,如果您的组件比运行模拟的主机更复杂甚至不同,并且如果您有任何大量的组件,则会引入很多低效率仪器。

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

    【讨论】:

      【解决方案2】:

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

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

      模拟通常涉及 超过 10,000 次模型评估, 过去只是一项任务 实际使用超级计算机。 -http://www.vertex42.com/ExcelArticles/mc/MonteCarloSimulation.html

      【讨论】:

        猜你喜欢
        • 2011-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-18
        • 1970-01-01
        相关资源
        最近更新 更多