文件名称:阻塞型与非阻塞型函数-grid layout in css
文件大小:1018KB
文件格式:PDF
更新时间:2024-07-05 18:55:28
MPI
§3.3 阻塞型与非阻塞型函数 阻塞型 (blocking) 阻塞型函数需要等待指定操作的实际完成, 或至少所涉及的数据已被 MPI 系统 安全地备份后才返回. 如 MPI_Send 和 MPI_Recv 都是阻塞型的. MPI_Send 调用返回时表明数据 已经发出或被 MPI 系统复制, 随后对发送缓冲区的修改不会改变所发送的数据. 而 MPI_Recv 返 回时, 则表明数据接收已经完成. 阻塞型函数的操作是非局部的, 它的完成可能需要与其它进程 进行通信. 阻塞型函数使用不当很容易引起程序的死锁. 非阻塞型 (non-blocking) 非阻塞型函数的调用总是立即返回, 而实际操作则由 MPI 系统在后台进 行. 用户必须随后调用其它函数来等待或查询操作的完成情况. 在操作完成之前对相关数据区的 操作是不安全的, 因为随时可能与正在后台进行的操作发生冲突. 非阻塞型函数调用是局部的, 因为它的完成不需要与其它进程进行通信. 在有些并行系统上, 通过非阻塞型函数的使用可以实 20