《并行计算的编程模型》一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派生出的前身特别适合于设计极其异步可扩展的软件系统。

相关文章
|
机器学习/深度学习 算法 数据挖掘
机器学习的基本概念与核心功能
机器学习的基本概念与核心功能
|
21天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
45 8
|
6月前
|
分布式计算 大数据 数据处理
浅谈几个经典大数据处理框架
【6月更文挑战第15天】本文介绍企业如何在数据洪流中保持竞争力需借助可扩展平台和数据策略。数据管道整合多元数据源,便于分析和流转。Kappa架构专注于实时处理(如通过Kafka、Spark Streaming),适合实时响应场景;Lambda架构结合批处理与实时处理(如Spark、Hadoop与Flink),平衡实时性和批处理,易于开发和维护。Apache Beam提供统一模型,适用于流处理和批处理,提升代码复用和效率。这两种架构满足现代应用对数据一致、性能和灵活性的需求。
478 3
浅谈几个经典大数据处理框架
|
7月前
|
存储 SQL 人工智能
从 CodeGemma 到 CodeQwen1.5:开源编程大模型百家争鸣
笔者最近刚刚试用完 CodeGemma ,准备分享我的心得时,通义千问的 CodeQwen1.5 就也悄然发布。本文主要介绍 CodeQwen1.5 这款开源编程大模型,并展示如何在 VSCode 中使用它帮你提升编程体验。
959 0
从 CodeGemma 到 CodeQwen1.5:开源编程大模型百家争鸣
|
机器学习/深度学习 并行计算 Go
探索Go语言在机器学习领域的应用局限与前景
探索Go语言在机器学习领域的应用局限与前景
156 1
|
机器学习/深度学习 人工智能 自然语言处理
机器学习入门:概念原理及常用算法
机器学习入门:概念原理及常用算法
187 0
机器学习入门:概念原理及常用算法
|
并行计算 API
《并行计算的编程模型》一2.5.1 GASNet工具
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.5.1节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1020 1
|
机器学习/深度学习 人工智能 Python
《深入浅出深度学习:原理剖析与Python实践》| 每日读本书
通俗易懂讲解深度学习核心要素,快速炼成AI工程师!杨强教授、邓侃博士力荐!入门+工具+思维+实践=深度学习速成宝典!每日搜罗最具权威专业书籍,更多图书请关注“每日读本书”。
1443 0
|
并行计算
《并行计算的编程模型》一1.1 引言
本节书摘来华章计算机《并行计算的编程模型》一书中的第1章 ,第1.1节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1175 0
《OpenACC并行程序设计:性能优化实践指南》一 第1章 从串行编程到并行编程
本节书摘来自华章出版社《OpenACC并行程序设计:性能优化实践指南》一 书中的第1章,作者:[美] 罗布·法伯(Rob Farber),更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1220 0