第一范文网 - 专业文章范例文档资料分享平台

并行计算(陈国良版)课后答案

来源:用户分享 时间:2025/5/31 2:33:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

进程访问,访问本地数据的代价与远程访问代价相比微不足道,报文传递也是可靠的。试分析两种算法的适合情况。

答:中央服务器算法,每次顾客发送数据请求到中央服务器,地址计算简单,适合多个顾客频繁轮流读写。迁移算法每次确定位置需要一定开销,适用于单个顾客频繁对数据读写,因为访问数据总是被迁移到访问节点里。

7.8下面是运行在一个硬件维护高速缓存一致性的多处理机上的程序段,假设所有值初始 为0。

P1 P2 P3 P4 A=1 U=A W=A A=2 V=A X =A

只有一个共享变量A, 假设一个用户知道所有高速缓存拷贝的地址并且可直接对(不 需要和目录节点协商)拷贝进行更新,假设采用写更新协议。试构造出一个写原子性被 违背的情况:

说明产生的结果违背了顺序一致性;

答:如果进程P1首先对含有共享变量A的数据块进行写操作,进程P2、P3执行U=A和W=A,分别将U、W置为1。此时P4对共享变量A进行写操作,并且同时更新P1、P2、P3中的值,此后P2、P3再执行V=A,X=A,此时V与X被置为了2。对于进程2来说,结果违背了顺序一致性。

7.9参照下述代码段:

问:000000是不是PARM一致性内存模型的合法输出?解释原因说明顺序一致性与PARM一致性区别?

a=1; b=1; c=1;

Print(b, c); Print(a, c); Print(a, b); (a)P1 (b) P2 (c)P3

答:在PARM一致性内存模型下,000000是合法输出,因为PARM不关注存储相关性,即同一进程程序序可以优化,这样各进程先执行打印完再执行赋值则出现如上情况。顺序一致性与PARM一致性的区别就是于是否关注存储相关性。

7.10有两个并行的过程P1、P2(如下图所示),在顺序一致性模型下,试列出所有可能的

6种语句交错执行顺序,使两进程不可能同时被kill。 a=1; b=1;

if(b= =0)kill(P2); if(a= =0)kill(P1); (P1) (P2) 答:(1)a=1;

if(a= =0)kill(P1); b=1;

if(b= =0)kill(P2); (2) a=1; b=1;

if(a= =0)kill(P1); if(b= =0)kill(P2); (3) b=1;

13

if(a= =0)kill(P1);

a=1;

if(b= =0)kill(P2); (4) b=1;

if(a= =0)kill(P1); if(b= =0)kill(P2);

a=1; (5) a=1;

if(a= =0)kill(P1); if(b= =0)kill(P2); b=1;

(6) if(a= =0)kill(P1); if(b= =0)kill(P2);

a=1;

b=1;

分析以上6种情况,在满足顺序一致性模型前提下,不会存在P1、P2同时被KILL的情况。

14

搜索更多关于: 并行计算(陈国良版)课后答案 的文档
并行计算(陈国良版)课后答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7k6d71ylo228mwx144s3_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top