gsa*_*ras 3 parallel-processing performance distributed distributed-computing mpi
我的MPI经验表明,加速不会随着我们使用的节点数量线性增加(因为通信成本).我的经历与此类似:
.
今天一位发言者说:"神奇地(微笑),在某些情况下,我们可以获得比理想速度更快的速度!".
他的意思是理想情况下,当我们使用4个节点时,我们将获得4的加速.但在某些情况下,我们可以获得大于4的加速,有4个节点!该主题与MPI有关.
这是真的?如果是这样,有人可以提供一个简单的例子吗?或许他正在考虑在应用程序中添加多线程(他没时间,然后不得不离开,因此我们无法讨论)?
并行效率(加速/并行执行单元数)超过单位并不常见.
主要原因是并行程序可用的总缓存大小.使用更多的CPU(或核心),可以访问更多的高速缓存.在某些时候,大部分数据都适合缓存,这大大加快了计算速度.另一种看待它的方法是,你使用的CPU /核心越多,每个人获得的数据部分就越小,直到该部分实际上可以放入单个CPU的缓存中.但是,通信开销迟早会取消这一点.
此外,您的数据显示与单个节点上的执行相比的加速.使用MPMP进行内部数据交换时,使用OpenMP可以消除一些开销,因此与纯MPI代码相比,可以获得更好的加速.
问题来自错误使用的术语理想加速.理想情况下,人们会考虑缓存效果.我宁愿用线性代替.