《并行计算的编程模型》一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

相关文章
|
缓存 NoSQL 算法
【Redis系列笔记】内存淘汰及过期删除
Redis是一个内存键值对数据库,所以对于内存的管理尤为重要。Redis内部对于内存的管理主要包含两个方向,过期删除策略和数据淘汰策略。内存淘汰策略指在Redis内存使用达到一定阈值的时候,执行某种策略释放内存空间,以便于接收新的数据。数据过期删除策略是指在数据的有效时间到期后,如何从内存中删除这些数据的规则。
470 0
|
存储 SQL 关系型数据库
(二十三)MySQL分表篇:该如何将月增上亿条数据的单表处理方案优雅落地?
前面《分库分表的正确姿势》、《分库分表的后患问题》两篇中,对数据库的分库分表技术进行了全面阐述,但前两篇大多属于方法论,并不存在具体的实战实操,而只有理论没有实践的技术永远都属纸上谈兵,所以接下来会再开几个单章对分库分表各类方案进行落地。
1372 3
|
负载均衡 算法 网络协议
【专栏】网络高可用性和负载均衡关键在于VRRP、VGMP和HRP协议
【4月更文挑战第28天】网络高可用性和负载均衡关键在于VRRP、VGMP和HRP协议。VRRP实现路由器冗余,保证流量转发;VGMP优化多播流量传输,适合多媒体服务;HRP提供无缝故障转移,适用于电信级网络。选择需考虑网络环境和业务需求,VRRP简单易部署,VGMP处理多播流量,HRP适合高稳定性场景。理解协议特点,确保网络最佳性能和可用性。
884 4
|
机器学习/深度学习 虚拟化 异构计算
浅析GPU通信技术(上)-GPUDirect P2P
1. 背景 GPU在高性能计算和深度学习加速中扮演着非常重要的角色, GPU的强大的并行计算能力,大大提升了运算性能。随着运算数据量的不断攀升,GPU间需要大量的交换数据,GPU通信性能成为了非常重要的指标。
31101 1
|
机器学习/深度学习 数据挖掘 大数据
如何用Python实现数据分析中的特征选择
特征选择是数据分析中的关键步骤,可以削减计算成本、提高模型精度,但是在大数据时代,如何快速有效地进行特征选择,成为了数据分析从业者需要面对的挑战。本文将介绍如何用Python在数据分析中进行特征选择,帮助读者提高数据分析效率。
|
架构师 Unix Linux
内存泄露专题(4)mtrace内存追踪
内存泄露专题(4)mtrace内存追踪
705 0
|
数据采集 搜索推荐 PyTorch
推荐系统基础:使用PyTorch进行矩阵分解进行动漫的推荐
推荐系统基础:使用PyTorch进行矩阵分解进行动漫的推荐
611 0
推荐系统基础:使用PyTorch进行矩阵分解进行动漫的推荐
|
机器学习/深度学习 算法
学习笔记: 机器学习经典算法-空间内一点到超平面的距离推广公式
机器学习经典算法-个人笔记和学习心得分享
822 0
|
XML Java 关系型数据库
【SpringBoot + Mybatis系列】Mapper接口注册的几种方式
SpringBoot项目中借助Mybatis来操作数据库,对大部分java技术栈的小伙伴来说,并不会陌生;我们知道,使用mybatis,一般会有下面几个
1064 0
【SpringBoot + Mybatis系列】Mapper接口注册的几种方式

热门文章

最新文章