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

相关文章
vw、px、vh 和 rem应用场景以及区别
【4月更文挑战第2天】 vw、px、vh 和 rem应用场景以及区别
1601 10
|
并行计算 Linux 计算机视觉
还在手工标注数据集?快来试一试自动化多模型标注大模型-gui交互式标注(部署运行教程-高效生产力)
还在手工标注数据集?快来试一试自动化多模型标注大模型-gui交互式标注(部署运行教程-高效生产力)
|
存储 Oracle 关系型数据库
Oracle 代码异常查询(五)
Oracle 代码异常查询
925 0
|
网络性能优化
【AXI】解读AXI协议的额外信号(QOS信号,REGION信号,与USER信号)
【AXI】解读AXI协议的额外信号(QOS信号,REGION信号,与USER信号)
【AXI】解读AXI协议的额外信号(QOS信号,REGION信号,与USER信号)
|
4月前
|
存储 人工智能 Linux
保姆级图文流程!OpenClaw(Clawdbot)阿里云/本地部署配置百炼 API +self-improving-agent skill 与避坑南
在AI工具普及的2026年,OpenClaw(原Clawdbot)凭借开源灵活、功能可扩展的特性,成为个人与轻量团队的核心AI助手。但多数用户在使用中会遇到共性问题:AI无法记住使用偏好、重复犯相同错误、难以积累实操经验,导致效率提升有限。而self-improving-agent技能的出现,彻底解决了这一痛点——它为OpenClaw赋予“记忆”与“学习能力”,通过自动记录用户纠正、错误案例、最佳实践,实现持续自我进化,让AI助手越用越贴合需求。
2376 0
|
10月前
|
机器学习/深度学习 人工智能 运维
运维告警别乱飞了!AI智能报警案例解析
运维告警别乱飞了!AI智能报警案例解析
877 0
|
11月前
|
人工智能 边缘计算 API
2025大语言模型部署实战指南:从个人开发到企业落地全栈解决方案
本文深度解析了针对2025年大语言模型的四大主流部署框架,适用于不同场景的技术选型。从个人开发者使用的Ollama,支持快速本地部署与量化模型管理;到资源受限设备上的llama.cpp,通过极致优化使老旧硬件焕发新生;再到企业级服务的vLLM,提供高并发生产环境解决方案;以及跨平台开发桥接器LM Studio,作为全栈开发者的瑞士军刀。每种方案根据其特点覆盖了从本地调试、边缘计算到大规模生产的应用场景,旨在帮助技术团队精准匹配最适合的大模型部署方案,以实现效率和成本的最佳平衡。随着大模型应用的增长,选择正确的部署策略对于AI工程化落地至关重要。
|
12月前
|
关系型数据库 分布式数据库 数据库
|
9月前
|
机器学习/深度学习 监控 PyTorch
68_分布式训练技术:DDP与Horovod
随着大型语言模型(LLM)规模的不断扩大,从早期的BERT(数亿参数)到如今的GPT-4(万亿级参数),单卡训练已经成为不可能完成的任务。分布式训练技术应运而生,成为大模型开发的核心基础设施。2025年,分布式训练技术已经发展到相当成熟的阶段,各种优化策略和框架不断涌现,为大模型训练提供了强大的支持。
1088 0
|
存储 缓存 Unix
从原理到实践:掌握DPDK内存池技术(上)
从原理到实践:掌握DPDK内存池技术