开发者社区> 华章计算机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《并行计算的编程模型》一3.6.2 fence和quiet:RMA操作排序

简介: 本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.6.2节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
+关注继续查看

3.6.2 fence和quiet:RMA操作排序

当同步屏障创建重量级同步时,fence和quiet要更加轻量级(因此可扩展性更好),但提供的同步保证也更弱。fence仅确保来自单一主动PE操作的前后顺序,并被一个单独的被动PE所见。在代码清单3-10的例子中,fence被用在put和get之间以确保put的结果能在get之前可见,在这种情况下用fence就足够了,因为RMA仅包括这个PE和它的继承者。本质上,当fence函数在两组RMA操作之间被调用时,所提供的保障如下:
fence语义:对来自一个特定主动PE到一个特定被动PE的一系列传输,如果主动PE调用fence函数,则在被动端可以保证所有在fence之前由主动PE发起的操作都能在fence之后发起的传输可见之前在被动端可见。
当所有PE都主动发起传输、被动参与传输并调用fence函数时,成对的排序保证可能不足以确保内存更新正确的顺序。如果需要全局前后顺序,应该使用quiet函数。在代码清单3-11展示的例子中,每个PE用put更新了其继承者上的一个值,然后用get更新其前任的一个值,这种情况下成对排序就不够了,要用quiet保证全局排序。
fence仅对fence前后的操作强加成对的排序,quiet对在其前后的RMA操作施加更强的(也更高开销的)全局排序。但是quiet仍比同步屏障要好得多,因为它只对每个PE的到达操作进行排序而不指定PE之间的同步。
quiet语义:对在主动PE和被动PE之间的一些列传输,调用quiet函数能确保所有在quiet之前发起的RMA操作都能在所有quiet之后发起的RMA操作可见之前被全局可见。
screenshot
screenshot
screenshot
screenshot

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《并行计算的编程模型》一2.4.5 寄存器–内存与远程memset操作
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.4.5节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
941 0
《并行计算的编程模型》一3.7 集合操作
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.7节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
833 0
《并行计算的编程模型》一3.5.1 RMA函数语义
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.5.1节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1036 0
《并行计算的编程模型》一2.3.2 段信息
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.3.2节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
896 0
《并行计算的编程模型》一1.6 聚合通信
本节书摘来华章计算机《并行计算的编程模型》一书中的第1章 ,第1节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1741 0
《并行计算的编程模型》一3.7.6 归约
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.7.6节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
890 0
《并行计算的编程模型》一1.2 MPI基础
本节书摘来华章计算机《并行计算的编程模型》一书中的第1章 ,第1.2节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1816 0
《并行计算的编程模型》一2.3.5 活动消息
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.3.5节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
894 0
《并行计算的编程模型》一3.5 远程内存访问:put和get
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.5节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
905 0
《并行计算的编程模型》一2.7 未来方向
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.7节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
841 0
10057
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载