SWIFT:在 $10^4$ 时间步长动态范围内保持弱可扩展性以驾驭极端自适应
分布式、并行与集群计算
2018-07-05 v1 天体物理仪器与方法
数据结构与算法
摘要
宇宙学模拟需要使用多重时间步方案。若无此类方案,由于其超过十一个数量级的密度动态范围,宇宙学模拟将不可能实现。如此大的动态范围导致超过四个数量级的时间步范围,这带来了显著的负载均衡挑战。本工作中,通过代码 SWIFT 的使用,以三种主要方式应对宇宙学模拟所呈现的极端自适应。首先,采用自适应网格以确保在给定的时间步中仅对相关粒子进行相互作用计算。其次,使用基于任务的并行化,借助 pthreads 与 SIMD 向量化,确保单节点内的高效负载均衡。最后,提出一种域分解策略,使用图域分解库 METIS,借助 MPI 将模拟所需执行的工作在节点间进行划分。这三种策略被证明赋予 SWIFT 近乎完美的弱缩放特性,在从 1 扩展到 4096 核的代表性问题上仅损失 25% 性能,同时比事实标准 Gadget-2 代码快 30 倍以上。
引用
@article{arxiv.1807.01341,
title = {SWIFT: Maintaining weak-scalability with a dynamic range of $10^4$ in time-step size to harness extreme adaptivity},
author = {Josh Borrow and Richard G. Bower and Peter W. Draper and Pedro Gonnet and Matthieu Schaller},
journal= {arXiv preprint arXiv:1807.01341},
year = {2018}
}