



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、并行面向对象语言技术进展于勐2001年3月26日(一教讨论班)需求背景z并行计算的软件进展落后于并行计算机的硬件进展约一代(K. Hwang & Z. Xu)zHPF,并行编译器的成功应用z面向对象技术所获得的成功(Java, CORBA, DCOM, OOA, OOP)z高性能和易于使用的发展趋势z并行的面向对象语言?并行面向对象语言zMentat - University of VirginiazpC+ - portable paralle C+ IndianazCC+ - Concurrent C+ ISI of USCzHPC+ - High Performance C+ Co
2、nsortium at Indiana UniversityzConcert (ICC+) - IllinoiszJavar - Indiana University并行模型z图模型yMacro Data flow Graph of MentatyMultiple Objects Multiple Data flowz线程模型ypC+ SPMD yHPC+ 异构计算节点,多上下文,多级并行性z对象交互规范JAVA RMI, Nexus RMI, CORBA, DCOM和OLE等并行面向对象语言的并行设施z并行程序块zMentat对象z处理器对象和全局对象指针z对象聚集z对象分布并行面向对象语言
3、的并行设施z同步和互斥z隐式粒度控制z函数调用z全局名字空间并行程序块zCC+中的并行程序块用par statementsopt表示。zCC+中用parfor (for-init-statement expressionopt;expressionopt) statement标识一个并行循环。zICC+用conc关键字来标识并行程序块和并行循环。与CC+不同,ICC+中的并行块和并行循环中的迭代由编译器检查并保证语句间的依赖关系。并行程序块zHPC+采用和Javar相同的方式对循环进行并行化。程序员为需要并行化的循环标明#pragma HPC_INDEPENDENT,由编译器为该循环生成多个并
4、行执行的线程副本,每个线程完成部分循环计算。在循环中,程序员还可以用#pragma HPC_REDUCE指出归约变量,用#pragma HPC_INDEPENDENT,PRIVATE指出可私有化的变量。Mentat对象zmentat关键字定义的Mentat对象占据独立的,互不相交的存储空间。其成员函数调用都是传值调用,函数返回结果也是传值的。zpersistent mentat对象会保持对象调用间的状态,regular mentat对象则不保持对象调用间的状态,其成员函数更像一个纯函数。z对象在使用时实例化。处理器对象和全局对象指针zCC+在类说明中用global来说明一个处理器对象(Proc
5、essor Object)类。处理器对象的公共成员函数和成员数据的作用域为对象所在的处理器。zpC+中的处理器对象的概念与上述不同,而与HPF中的处理器模板相似。pC+中用类似Processor P(m,n)的语法说明处理器结构,实际上对应于目标SPMD程序的线程结构。对象聚集z对象聚集(aggregate)指的是需要并行执行相同操作的一组对象。我们认为对象聚集是用于高性能计算的并行面向对象语言的一个必备的语言设施。zpC+用Collection关键字采用和类相同的语法定义对象聚集。对象聚集zCollection被编译器自动处理为模板( T e m p l a t e ) 。程序员还可以用定
6、义Template TEClass的方法定义Collection,并可以用下面引用子向量的形式使用Collection。zpi:j:k.f();z表示对Collection p中标识从i到j,步长k的所有元素调用函数f()。对象分布下面的例子建立了一个复数元素的分布数组,数组元素在处理器的分布由分布对象myDist和对齐对象myAlign共同确定。Processors P;Distribution myDist(7,7,&P,CYCLIC,WHOLE);Align myAlign(5,5,ALIGN(dummyij,myDistij);DistributedMatrix A(&
7、myDist, &myAlign);因为C+中已经有Template关键字,所以pC+采用Distribution作为描述数据模板的关键字,以免混淆。模板和对齐的定义与HPF相同。同步和互斥z单赋值同步变量。z计数信号量。z协同操作和通信。z对象级同步。z函数级同步。z语句块的同步。隐式粒度控制zICC+中的粒度是由编译器来动态分析控制的。ICC+编译器在编译时刻生成多个可执行的并行线程版本,由于线程的开销也不相同(在ICC+中堆线程有1种,栈线程有3种),编译器生成的目标代码在运行时刻根据当时的动态绑定,对象分布情况选择具有最小执行开销的线程版本运行。函数调用zMentat中对函数返
8、回值采用了return-to-future机制,其函数名为rtf()。y.它可以返回另外的刚刚启动或正在运行的Mentat对象的函数值。y.rtf()不表明函数运行结束,只表示结果已经可用。函数可以继续进行其它处理,例如保存计算状态,和其它对象通信等。y依据编译器发现的依赖关系,rtf()返回值送给MDF中所有使用该值的后继结点。函数调用zHPC+中不同上下文之间的函数调用需要上下文标识和全局函数。需要远程引用的函数要先进行登记,使用者首先获取登记标识,在使用远程上下文标识和函数标识进行调用。调用者随即获得控制权继续执行,返回值用单赋值同步变量保存,仅当调用者读该变量并且返回结果尚未返回时调用
9、者阻塞。全局名字空间z全局对象名字空间是指在系统中的对象都有唯一的标识,以便用该标识进行对象间的操作。全局对象名字空间允许数据一致的存取,并将数据和任务的位置分配和函数说明分离开。优化技术z内嵌(inlining)z访问区域扩张(access region expansion)z局部性优化y动态指针对齐(dynamic pointer alignment)y视图缓冲(view caching)运行时支持zMDF虚拟机z自动存储管理zNexusRMI或CORBA IDL几种并行面向对象语言的比较并行支持MentatpC+CC+HPC+ICC+设计目标对象并行数据并行任务并行异构并行实现优化并行模
10、型MDFSPMDMPMDSPMDMPMD并行程序块-TEClasspar,parfor#pragmaConc对象聚集-Collection-对象分布自 动 或 指定同 HPF自动-自动全局指针-支持支持支持-同步机构单 赋 值 变量 , 对 象级同步线程协同单 赋 值 变量 , 函 数级同步单 赋 值 变量 , 计数 信号 量 ,线 程协 同 ,临 界区对象级同步远程调用MDF 虚拟机未命名未命名NexusRMI或CORBA IDL未命名目前的问题 什么样的并行设施是必需的,编译器和程序员所分担的并行性的描述和实现进行怎样的折衷。 针对分布式对象计算环境的目标程序的优化技术的开发。 用于高性能计算的通用和专用并行类库的构造
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东二年级下试卷及答案
- 2025路灯维护合同范本
- 炼铁废渣热处理与资源化利用技术考核试卷
- 笔的批量生产技术考核试卷
- 矿山质量管理与体系建设考核试卷
- 园区物业管理团队激励与绩效管理考核试卷
- 《课件审核》课件
- 羊的饲养市场营销策略考核试卷
- 稀土金属压延加工的绿色可持续发展策略研究考核试卷
- 腈纶纤维的形状记忆性能与应用探索考核试卷
- 2025-2030车联网行业市场发展分析及发展趋势前景预测报告
- 辽宁省部分高中2023-2024学年高二下学期期中考试数学试题(解析版)
- 2025年西班牙语DELE考试真题卷:西班牙语语音与发音训练试题
- 2025河北地质大学招聘工作人员48人笔试备考题库及答案解析
- 2025-2030医用超声仪器市场投资前景分析及供需格局研究研究报告
- 2025-2030儿童智能手表行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 儿童发展问题的咨询与辅导-案例1-5-国开-参考资料
- 凝汽器灌水查漏方案及措施
- 【那个女孩歌词陶喆】陶喆那个女孩歌词分配
- 弧焊(3)电弧焊焊条
- 简历常用icon图标Word简历模板
评论
0/150
提交评论