3、评估OpenSHMEM显式远程内存访问操作和合并请求

评估OpenSHMEM显式远程内存访问操作和合并请求

1. 引言

OpenSHMEM 1.3引入了隐式非阻塞的put和get操作到现有的库应用程序编程接口(API)中。这些操作的语义允许先发布操作,然后等待其完成,相较于之前的阻塞语义,能实现通信与其他操作的重叠。然而,这些操作只有在通过 shmem quiet shmem barrier shmem barrier all 保证远程内存更新后才被视为完成。由于这些是全局完成操作,对于只需要更细粒度完成控制的应用程序,可能会产生显著的性能影响。

本文提出引入带有显式请求的非阻塞数据传输调用、将多个操作使用单个请求的能力以及合并多个请求的接口。显式请求能够跟踪单个数据传输操作,将相关的远程内存访问(RMA)操作分组到单个请求句柄中,为程序员提供了灵活性,并可提高应用程序性能。

2. 动机

传统的OpenSHMEM编程模型基于通过快速单边RMA操作实现最大程度的计算 - 通信重叠,且无需目标处理元素(PE)的参与。OpenSHMEM 1.3引入的隐式非阻塞调用具有非阻塞调用的许多优点,但缺乏跟踪操作完成的能力。显式非阻塞调用通过单个请求句柄提供了细粒度的控制。以下是合并显式RMA操作句柄既有利又高效的场景:
- 用例1:OpenSHMEM线程
- 随着OpenSHMEM规范向支持线程安全和线程模型发展,定义单个PE内线程间的同步机制变得至关重要。单个线程内的许多操作可能需要顺序一致性。与使用显式句柄管理单个通信调用相比,合并单个线程的通信句柄可以更轻松地对操

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值