第2章 节 并行编程基础 第4节通信问题 并行处理与体系结构.pptVIP

第2章 节 并行编程基础 第4节通信问题 并行处理与体系结构.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 节 并行编程基础 第4节通信问题 并行处理与体系结构.ppt

并行处理与体系结构;第2章 并行编程基础;?4 通信问题;一、通信操作 分为三种: 数据交换(通信) 同步 聚集操作 这些操作常统称为通信 它们对体系结构和编程的支持有着不同的要求;1、通信 通信操作是指在两个或多个进程间传送数据。 分类: 在共享存储程序中的通信 使用过程级并行性的多处理机程序用派生过程 在多计算机模型中的通信;(2)控制的同步 使进程将处于等待状态: parfor(i:=1;in;i++){ Pi Barrier Qi };例题:另一种控制同步的构造是临界区: parfor(i:=1;in;i++) { critical{X=X+1;y=y-1;} } ;说明: 应注意临界区是互斥的,因为每次只允许一个进程执行这两条语句。 与此相反,只要原子性是强制的,多个进程就可执行它们自己的原子区。;(3)数据同步 执行一个数据同步操作的进程将处于等待状态,直至程序执行到达某种数据状态。 如下面的代码段所示: parfor(i:=1:in;i++) {lock(S);X=X+1;y=y-1; unlock(S);};3、聚集(aggregation) 由并行程序中的各分进程计算所得的部分结果,需要用聚集操作加以合并以得到一个完整结果。;聚集的主要特征是: 它由一串超步组成 在每个超步中,每个进程完成一个小粒度计算 通信一个短消息;例题:求部分和(递归折迭归约操作) 假设有n个进程 P(0),P(1), …,P(n-1) 数组元素a[i]初始化时分配给进程P(i)。 a[0]+ a[1]+ ….+a[n] 可以用下列的求P(i)的单代码程序加以表示,其中i=0到n-1;;Sum=a;//每个进程有一局部变量Sum For(j=1;jn;j=j*2){//log(n)个超步 if(i%j=0) { Get Sum Of process P(i+j) into alocal variable tmp; (*将进程P(i+j)的和放到局部变量trap中*) Sum=Sum+tmp; } };哈尔滨工业大学计算机科学与技术学院;说明: 聚集的特点;二、通信方式;一个通信是同步的是指: 如果代码C必须当进程都已到达C后方可执行 一个通信是异步的是指: 如果一个进程到达C后可不必等待其他进程,而执行C。 ;双进程的通信--n=2时; 多进程的通信--若n大于2。 点对点通信--当一个进程向另一进程发送消息时。 集合通信--多进程的通信。 ;当一个进程P遇到一个交互代码C时,若对入口和出口条件以不同方法加以设置,就可得到???种通讯状态: In:进程P在代码C中,包括刚进入C,刚完成它的代码C Out Arrived Finished 对于双进程的通信,可有256种组合。; 入口条件;广泛使用的通信方式有以下3种: 同步的 锁定的 非锁定的;三、通信模式 是指一些进程对其他进程的影响。 静态的通信模式 动态通信模式;几种点对点的集合通信模式如下;哈尔滨工业大学计算机科学与技术学院;哈尔滨工业大学计算机科学与技术学院;哈尔滨工业大学计算机科学与技术学院;四、合作通信和竞争通信 竞争通信: 一个主要差别是进程以不同方法进行通信。在并发操作系统中,进程间的交互主要是为了竞争共享资源。 合作通信: 它们是要相互进行消息通信、相互同步、或是从部分计算值生成组合值。;属性

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档