提升 OpenSHMEM 计算异步性:Active Messages 研究与实践
1. 环形令牌实验与 Active Messages 特性
在 Active Messages(AM)处理管理中,若软件开销最小化,预期总往返时间几乎会随跳数线性增长。通过环形令牌实验,我们能更清晰地认识 Active Messages 的特性。
在该实验里,X 轴代表单次往返的跳数(即处理单元 PE 的数量),Y 轴对应 PE - 0 发起的令牌(以 AM 请求或 PUT 形式)经过所有 PE 再返回 PE - 0 所需的总时间。从实验结果图中可观察到,两种方式(AM 和标准 PUT)的往返延迟几乎相同。这是因为对于大数据负载,使用 AM 和标准 PUT 传输数据负载的延迟差异才更明显,而此实验模式仅用一个 4 字节整数表示令牌,所以性能相近。
从带宽和消息速率图可知,使用 Active Messages 的目的并非传输数据负载。若要在数据传输中实现接近硬件的带宽和消息速率,OpenSHMEM 程序员使用标准提供的传统点对点操作更佳。不过,从环形令牌实验能看出,Active Messages 更适合在远程 PE 上触发特定事件,且因编码风格能提高开发效率,同时性能也无显著损失。
2. 旅行商问题(TSP)实验
为研究提出的 AM 接口的影响,选择旅行商问题(TSP)小程序作为目标基准,因其算法可拆分为多个独立任务,能在算法中利用异步计算。
2.1 小程序版本
TSP 小程序采用主 - 从通信模式:
- 主 PE 负责读取输入成本矩阵,并为从 PE 分配不同路径。
- 从 PE 负责将路径拆分
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



