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

第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派生出的前身特别适合于设计极其异步可扩展的软件系统。

时间: 2024-09-16 19:27:17

《并行计算的编程模型》一3.1 引言的相关文章

《电路分析导论(原书第12版)》一导读

前 言 本书第1版于40年前出版,至今已翻译成6种语言,发行超过了100万册.所以,我很高兴为该教材的第12版再写前言,并首先对本教材出版过程的所有参与者,以及那些认为本教材满足了学科需求的全体使用者致以诚挚的谢意.新版内容的变化 ●像以前版本的做法一样,这一版也增加了一些新内容,以确保教材始终带有新鲜气息.然而,这一版的新内容非常特殊,它涉及了刚刚问世的第4种电学元件,称为忆阻器(memristor),它是由惠普公司发明的,英文版的封面设计用的就是这种电学元件.关于忆阻器,人们采用不同的方法进

《电路分析导论(原书第12版)》一习题

习题 较难的习题用"*"标注. 1.2节 1.参观当地图书馆,根据图书馆提供的文献,尤其是电力.电子学.电磁学和计算机方面的文献,描述计算机对电气.电子技术的支持情况. 2.选择一个电气.电子领域感兴趣的题目,写一篇短文,综述一下该题目的发展历史. 1.4节 3.调查一下在你的全部课程中,计算机课程和上机的可用时间.普遍使用的是哪一种语言?哪种软件包最受欢迎? 4.设计一个表格对比三种流行的算法语言,包括每种语言的特点.为什么你认为某些算法语言在电路分析方面比其他语言更好用?

《电路分析导论(原书第12版)》一1.2 电气与电子发展简史

1.2 电气与电子发展简史 在科学上,一旦一个假说被人们证实和接受,它就会变成它所在的研究领域的一种积木块.通过积木效应,它又会给这个领域带来新的探索内容,并展示新的发展机遇.从自然规律上看,遇到的难题越多,通往解答的林荫大道就越敞亮.历史已经证明并且还在证明,单一领域的发展可能会导致"蘑菇效应" mushrooming effect.蘑菇长在阴暗的角落,得不到阳光,也没有肥料,自生自灭.只有长到足够高时才会被人关注,可此时它自己已经能够接受阳光了.这种现象称之为"蘑菇效应

《电路分析导论(原书第12版)》一3.6 色环与标准电阻标称值

3.6 色环与标准电阻标称值 电阻器图3.20 用电位器控制电压图3.21 固定电阻器的颜色编码图3.22 颜色编码图各式各样,无论固定的还是可调的,有许多电阻器有足够大的尺寸,可以将它们的电阻值印刷在外层表面上.然而,有些电阻尺寸太小,难以在它上面印上合适的数字.因此,人们发明了彩色编码技术,用来表示电阻的相关信息.对于薄膜电阻器,可能使用四-六个色环.先介绍四色环结构,稍后再介绍第五和第六色环的用途.对于四色环结构,色环的阅读总是从最靠近电阻接线端的那一侧开始,如图3.21所示,从它的左侧开

《电路分析导论(原书第12版)》一2.5.1 电池

2.5.1 电池 1.一般描述一般来说,电池是最普通的直流电源.电池(派生于battery battery意为一些为同一目的或同时使用的东西.--译者注 of cells)是一个或更多个单元电池(cell)的组合,单元电池是电能的基本单元,它靠化学反应或太阳能转换来产生电能.根据其原理,电池可以分成一次电池和二次电池两种类型.二次电池是可充电的电池,而一次电池则不能被充电.这就是说,二次电池的化学反应是可逆的,充电时它能将电能转化成化学能存储起来.两种最普通的充电电池是铅酸电池(常用在汽车中

《电路分析导论(原书第12版)》一1.2.3 固态电子时代

1.2.3 固态电子时代 1947年,贝尔实验室的物理学家肖克利(William Shockley).巴丁(John Bardeen)和布拉顿(Walter H.Brattain)发明了点接触式晶体管,如图1.3所示.放大器可以全部由固态器件来构造, 图1.3 第一支晶体管(图片由贝尔实验室提供)不需要密封的真空管和用于加热灯丝的电压.尽管起初人们有些不太情愿改变当时计算机的工作原理,这是因为在真空管电路的设计.分析和综合方面,已经有了相当丰富的研究成果可以利用,但是工业界最后还是接受了这一新技

《电路分析导论(原书第12版)》一1.2.1 电磁之初

1.2.1 电磁之初 静电现象在历史上曾激起了人们的兴趣.希腊人发现某些琥珀能够用来证明静电现象的存在,但直到英国女王的侍医官吉尔伯特(William Gilbert)于1600年对静电开展进一步研究之前,希腊人没有对这一现象进行专门研究.在后来的岁月里,才有许多人对静电开展持续研究,成果不断.例如格里克(Otto von Guericke)发明了第一个能产生大量电荷的机器:格雷(Stephen Gray)能够使电荷沿着真丝线传输很远:杜菲(Charles DuFay)证明了电荷之间或者相斥.或

《电路分析导论(原书第12版)》一3.5 电阻器的类型

3.5 电阻器的类型 3.5.1 固定电阻器电阻器虽然具有各种形状,但所有电阻按照参数值的改变情况可以分成两类:固定电阻和可变电阻.最常用的小容量(指电阻的最大功率值)固定电阻是各种膜电阻,如图3.12所示.它们的构造是这样的:在陶瓷内核上涂上用电阻材料制成的膜,典型材料是碳.金属或金属氧化物.按螺旋方式切除一部分膜,得到所需要的连续长度的电阻带,从而在一端到另一端之间便获得了电阻.一般来说,碳膜电阻具有淡棕色和小容量的特点.典型金属膜电阻具有鲜艳的颜色,例如,砖红色.深绿色,并且具有较大容量.

《电路分析导论(原书第12版)》一2.11 应用

2.11 应用 本书大多数章都包含了像本节这样的"应用",以便进一步理解.巩固和应用该章出现的术语.概念和原理.这些应用的主要目的是建立课本中的理论概念与现实世界之间的联系.每个应用题目都是精心选择的.尽管如此,还是会有一些在此之前没有介绍的内容.事实上,一些内容只有到了后续课程中才能学到.精心选择的这些题目对大学新生来说都是很有趣的.题目中包含了充分的注释,说明系统中每一组成部分的作用,根据这些注释便会获得详细理解.在每章结尾的习题中,不再涉及已经讨论过的"应用"

《电路分析导论(原书第12版)》一1.4.1 算法语言

1.4.1 算法语言 有多种算法语言,每一种都提供了直接与计算机及其所能完成的运算进行交互的命令集合.算法语言由用户能够输入到计算机中的符号.字母.单词或者句子组成.计算机能够理解这些输入的内容,并按照由一系列命令所规定的顺序执行它们,这些命令集合称为程序.程序告诉计算机按照顺序依次做什么,就像学生用普通方法计算一样,一行一行地进行.计算机只能对用户输入的命令产生响应.所以,为了获得正确的解答,要求编程者必须完全弄懂运算和操作顺序.一项复杂的运算可能需要成百或上千行命令.程序写完后,还必须仔细检