《并行计算的编程模型》一2.3.7 活动消息规则与约束

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

2.3.7 活动消息规则与约束

GASNet规范是了解相关细节最完整的参考资料,本节将介绍使用GASNet编写正确、可移植的AM代码时所必须遵循的主要规则。然而,并非所有应用实现都必须强制执行所有的规则,只是客户端必须遵循这些规则,否则一些实现将出现不正确的操作。

  • 作为AM Request结果的处理程序执行,仅允许通过对AMReply函数的单一可选函数进行通信。
  • 作为AM Reply结果的处理程序执行,不允许发生任何通信。
  • 没有处理程序可以调用GASNet屏障函数、初始化AM Request或调用扩展API中的任意部分(包括那些禁止通信部分)。
  • 处理程序可以在函数中临时阻塞以获得HSL,但必须在函数执行结束前释放获得的HSL。
  • 处理程序可以不调用GASNET_BLOCKUNTIL。
  • GASNet实现不必保证AM顺序执行且客户端代码必须在重新排序消息发生时处于死锁状态。
  • 客户端代码必须以线程安全的方式进行编写(通过正确使用HSL的方式),即使是单线程客户端,GASNet也可以异步执行AM处理程序。
  • 传递给GASNET_BLOCKUNTIL的表达式也得受上述规则约束,且需要考虑这些表达式有可能与AM处理程序并发执行的情况。
相关文章
|
机器学习/深度学习 网络协议 中间件
[ROS2] --- ROS diff ROS2
[ROS2] --- ROS diff ROS2
447 0
|
存储 vr&ar 图形学
法线贴图的视线原理
使用法线贴图可以大大提高渲染效果,使低多边形数的模型看起来具有高多边形数模型的细节和真实感。在游戏开发、电影制作和虚拟现实等领域,法线贴图被广泛应用于增强场景和物体的视觉效果。
386 2
|
存储 搜索推荐 Linux
5个值得学习的C++完整项目实战
5个值得学习的C++完整项目实战
|
安全 网络虚拟化 云计算
|
JavaScript 前端开发 定位技术
高德地图「海量点标记 + 海量标注」卡顿问题 解决方案
高德地图「海量点标记 + 海量标注」卡顿问题 解决方案
1945 1
|
机器学习/深度学习 运维 自然语言处理
揭示堆叠自动编码器的强大功能 - 最新深度学习技术
揭示堆叠自动编码器的强大功能 - 最新深度学习技术
|
编解码 Ubuntu 算法
怎么判断一个视频是否正常 - 学习使用 ffprobe
经常有运营反馈视频上传到系统之后,变短了,原版视频200分钟,上传上来之后,只有40分钟了。这个时候可以使用 ffprobe 来检查
1369 0
怎么判断一个视频是否正常 - 学习使用 ffprobe
|
消息中间件 JSON API
Springboot----项目整合微信支付(利用RabbitMQ延迟队列处理用户退款)
Springboot----项目整合微信支付(利用RabbitMQ延迟队列处理用户退款)
1001 0
Springboot----项目整合微信支付(利用RabbitMQ延迟队列处理用户退款)
poi 生成word 表格,并向表格单元格中插入多个图片
poi 生成word 表格,并向表格单元格中插入多个图片
794 0
poi 生成word 表格,并向表格单元格中插入多个图片
|
前端开发 JavaScript
Vue框架实现对前端数据表的增删改查(第六课)
Vue框架实现对前端数据表的增删改查(第六课)
414 0

热门文章

最新文章