模拟 256 个 MPI 进程争抢 64 个物理核心时,操作系统调度器、缓存、内存带宽发生了什么
理想进度 = 假设 64 进程无争抢时的线性完成度;实际进度 = 超订后真实推进速度。
# 1. 编辑 system/decomposeParDict,把 numberOfSubdomains 从 256 改成 64 numberOfSubdomains 64; method scotch; # 或 hierarchical / simple # 2. 重新分解 decomposePar -force # 3. 正常并行运行(不再需要 --oversubscribe) mpirun -np 64 yourSolver -parallel
推荐 重新分解后,每个进程独占一个物理核,缓存命中率高、无上下文切换、内存和 MPI 压力都正常, 这才是 64 核服务器应有的跑法。