代理模型的高性能仿真引擎:显著提升与可扩展性

0 下载量 135 浏览量 更新于2024-06-19 收藏 15.87MB PDF 举报
本文主要探讨了在高性能计算和可扩展性方面改进基于代理的仿真引擎的关键技术。作者针对生物DynaMo这样的平台,提出了针对大规模研究的仿真引擎优化策略。文章的核心挑战包括: 1. **并行化与性能优化**: - 为了充分利用多核处理器的并行能力,作者设计了一种优化的网格结构,能够有效地搜索邻居并实现线程本地结果的并行合并。这种优化减少了通信开销,提高了整体性能。 2. **内存访问延迟降低**: - 通过引入NUMA感知的代理迭代器,模拟程序更好地适应非均匀内存访问(NUMA)架构,减少了跨CPU核心和内存簇的数据移动。此外,通过使用填充空间曲线对代理进行排序,以及定制的堆内存分配器,降低了内存访问延迟,从而提升内存带宽利用率。 3. **碰撞力计算优化**: - 文章提出了一种机制,条件性地省略不必要的碰撞力计算,这在保持模型精确性的同时,显著减少了计算密集型任务,进一步提高了仿真速度。 4. **可扩展性和比较实验**: - 对比实验表明,新的仿真引擎相比于BioCellion有性能上的显著提升,与Cortex3D和NetLogo相比,速度提升了三个数量级。在实际应用中,新引擎能够在单个服务器上支持17.2亿个代理的模拟,显示出强大的可扩展性。 5. **相关领域与关键词**: - 论文关注于计算方法学中的大规模并行和高性能仿真,以及代理/离散模型的并行算法。同时,它也涉及软件性能优化、性能评估、内存布局优化、内存分配和NUMA技术。 6. **版权和引用信息**: - 本文遵循知识共享署名4.0国际许可协议,发表于PPoPP '23会议,蒙特利尔,2023年2月25日至3月1日,作者提供了可复现结果的详细说明链接。 通过这些技术创新,本文的工作对于推动基于代理的仿真技术在科学和工程领域的广泛应用具有重要意义,特别是在处理大规模数据和复杂系统时,为研究人员提供了一种高效且可扩展的工具。