MPI 通信与容错技术解析
1. MPI - 3 单边通信语义设计
在高性能计算中,数据的获取、计算和写回是常见操作。例如,需要从远程内存中获取、计算并写回 N 个数据块。有三种不同的操作方式,其代码实现和性能各有特点。
- 无重叠版本
MPI Win lock
for i in 1, N
MPI Get
end for
MPI Win unlock
Compute
MPI Win lock
for i in 1, N
MPI Put
end for
MPI Win unlock
此版本中,获取、计算和写回三个阶段依次执行,没有任何重叠。
- 使用锁 - 解锁的重叠版本
MPI Win lock
for i in 1, N
MPI Get
end for
MPI Win unlock
MPI Win lock
for i in 1, N
Compute
MPI Put
end for
MPI Win unlock
该版本通过锁 - 解锁机制,将计算和通信阶段进行了一定程度的重叠。
- 使用基于请求操作的重叠版本