《并行计算的编程模型》一3.1 引言

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

第3章

Programming Models for Parallel Computing
OpenSHMEM
Jeffery A. Kuehn,橡树岭国家实验室
Stephen W. Poole,橡树岭国家实验室

3.1 引言

OpenSHMEM [74,138,223]是SHMEM API [88,87]的当代派生物,SHMEM API是克雷研究公司(Cray Research)于1993年为有效编程克雷T3D计算机系统而开发的[85],1996年当克雷研究公司被SGI [251]收购时被转让给了SGI,对SHMEM的使用权接着同2000年被重命名为克雷公司的克雷业务单元一起转让给了Tera公司。在这三个公司的每一代产品中,SHMEM API都体现了对大规模系统的鲁棒性和灵活性,在需要对超大规模系统开发软件的用户群体中发展出了牢固的追随者,引导包括IBM、Quadrics(Vega UK有限公司)[235]、Hewlett Packard、QLogic和Mellanox等很多销售商开发自己的SHMEM API实现,虽然这些实现大部分是一致的,但也有一些小问题阻碍了不同实现间的应用可移植性,因此2009年橡树岭国家实验室的超大规模系统中心参与了标准化API的工作,这个标准化的API就是OpenSHMEM。因此,它是20年来对最大规模可用计算能力的使用、研究和开发的结果。在本书撰写之时,OpenSHMEM 1.0版本的说明书[138,223]和参考实现都已发布,1.1版本正在进行中。
OpenSHMEM描述了用户可以用来编程数据传输(如用消息传递模型[120,170,200,201]所做的)和同步(如用共享存储模型所做的)的API。然而,它的数据结构和指针允许对跨节点内存分区进行全局访问,正如通过分段全局地址空间模型(Partitioned Global Address Space,PGAS)[48]所能做到的。最后,OpenSHMEM可用最小的开销展示底层硬件能力,以便用作实现本书介绍的其他编程模型的基础,但这种有效性也要做出一定程度的让步。消息传递和PGAS模型提供一些隐式的同步保证,但OpenSHMEM将数据传输和同步解耦合,将在算法中设计适当同步机制的负担加给了用户,虽然看上去这是个重要的缺陷,但数据传输和同步解耦的优势使OpenSHMEM及其由SHMEM派生出的前身特别适合于设计极其异步可扩展的软件系统。

相关文章
|
机器学习/深度学习 算法 数据挖掘
机器学习的基本概念与核心功能
机器学习的基本概念与核心功能
|
5月前
|
分布式计算 大数据 数据处理
浅谈几个经典大数据处理框架
【6月更文挑战第15天】本文介绍企业如何在数据洪流中保持竞争力需借助可扩展平台和数据策略。数据管道整合多元数据源,便于分析和流转。Kappa架构专注于实时处理(如通过Kafka、Spark Streaming),适合实时响应场景;Lambda架构结合批处理与实时处理(如Spark、Hadoop与Flink),平衡实时性和批处理,易于开发和维护。Apache Beam提供统一模型,适用于流处理和批处理,提升代码复用和效率。这两种架构满足现代应用对数据一致、性能和灵活性的需求。
401 3
浅谈几个经典大数据处理框架
|
3月前
|
机器学习/深度学习 算法 搜索推荐
【机器学习】机器学习的基本概念、算法的工作原理、实际应用案例
机器学习是人工智能的一个分支,它使计算机能够在没有明确编程的情况下从数据中学习并改进其性能。机器学习的目标是让计算机自动学习模式和规律,从而能够对未知数据做出预测或决策。
87 2
|
6月前
|
存储 SQL 人工智能
从 CodeGemma 到 CodeQwen1.5:开源编程大模型百家争鸣
笔者最近刚刚试用完 CodeGemma ,准备分享我的心得时,通义千问的 CodeQwen1.5 就也悄然发布。本文主要介绍 CodeQwen1.5 这款开源编程大模型,并展示如何在 VSCode 中使用它帮你提升编程体验。
915 0
从 CodeGemma 到 CodeQwen1.5:开源编程大模型百家争鸣
|
机器学习/深度学习 监控 开发者
如何实现深度学习模型开发|学习笔记
快速学习如何实现深度学习模型开发
|
机器学习/深度学习 算法 数据挖掘
什么是机器学习?机器学习基本概念介绍:经验、任务与性能
什么是机器学习?机器学习基本概念介绍:经验、任务与性能
|
机器学习/深度学习 算法 Python
机器学习中常用的基本概念
机器学习中常用的基本概念
|
并行计算 API
《并行计算的编程模型》一2.5.1 GASNet工具
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.5.1节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1009 1
|
机器学习/深度学习 人工智能 Python
《深入浅出深度学习:原理剖析与Python实践》| 每日读本书
通俗易懂讲解深度学习核心要素,快速炼成AI工程师!杨强教授、邓侃博士力荐!入门+工具+思维+实践=深度学习速成宝典!每日搜罗最具权威专业书籍,更多图书请关注“每日读本书”。
1435 0
|
存储 SQL 关系型数据库
下一篇
无影云桌面