并行计算陈国良版课后答案Word格式.docx

上传人:b****0 文档编号:13466708 上传时间:2022-10-10 格式:DOCX 页数:19 大小:82.94KB
下载 相关 举报
并行计算陈国良版课后答案Word格式.docx_第1页
第1页 / 共19页
并行计算陈国良版课后答案Word格式.docx_第2页
第2页 / 共19页
并行计算陈国良版课后答案Word格式.docx_第3页
第3页 / 共19页
并行计算陈国良版课后答案Word格式.docx_第4页
第4页 / 共19页
并行计算陈国良版课后答案Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

并行计算陈国良版课后答案Word格式.docx

《并行计算陈国良版课后答案Word格式.docx》由会员分享,可在线阅读,更多相关《并行计算陈国良版课后答案Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

并行计算陈国良版课后答案Word格式.docx

试构造一个N=64的立方环网络,并将其直径和节点度与N=64的超立方比较之,你的结论是什么

AN=64的立方环网络,为4立方环(将4维超立方每个顶点以4面体替代得到),直径d=9,节点度n=4

BN=64的超立方网络,为六维超立方(将一个立方体分为8个小立方,以每个小立方作为简单立方体的节点,互联成6维超立方),直径d=6,节点度n=6

一个N=2^k个节点的deBruijin网络如图所示,令

,是一个节点的二进制表示,则该节点可达如下两个节点:

0,

1。

该网络的直径和对剖宽度是多少

N=2^k个节点的deBruijin网络直径d=k对剖宽带w=2^(k-1)

一个N=2^n个节点的洗牌交换网络如图所示。

此网络节点度==网络直径==网络对剖宽度==

N=2^n个节点的洗牌交换网络,网络节点度为=2,网络直径=n-1,网络对剖宽度=4

一个N=(k+1)2^k个节点的蝶形网络如图所示。

此网络节点度=网络直径=网络对剖宽度=

N=(k+1)2^k个节点的蝶形网络,网络节点度=4,网络直径=2*k,网络对剖宽度=2^k

对于如下列举的网络技术,用体系结构描述,速率范围,电缆长度等填充下表中的各项。

(提示:

根据讨论的时间年限,每项可能是一个范围)

网络技术

网络结构

带宽

铜线距离

光纤距离

Myrinet

专用机群互联网络

200MB/秒

25m

500m

HiPPI

用于异构计算机和其外设的组网

800Mbps~

300m~10km

SCI

可扩展一致性接口,通常独立于拓扑结构

250Mbps~8Gbps

光纤通信

多处理器和其外围设备之间,直连结构

100Mbps~800Mbps

50m

10km

ATM

主要应用于因特网主干线中

25Mbps~10Gbps

FDDI

采用双向光纤令牌环,所有结点联接在该环中

100-200Mbps

100m

2KM

如图所示,信包的片0,1,2,3要分别去向目的地A,B,C,D。

此时片0占据信道CB,片1占据信道DC,片2占据信道AD,片3占据信道BA。

1)这将会发生什么现象

2)如果采用X-Y选路策略,可避免上述现象吗为什么

1)通路中形成环,发生死锁

2)如果采用X-Y策略则不会发生死锁。

因为采用X-Y策略时其实质是对资源(这里是通道)进行按序分配(永远是x方向优先于y方向,反方向路由是y方向优先于x方向),因此根据死锁避免的原则判断,此时不会发生死锁。

在二维网孔中,试构造一个与X-Y选路等价的查表路由。

所构造路由表描述如下:

1)每个节点包括两张路由表x表和y表

2)每个节点包含其以后节点信息,如节点【1,2】x表内容为:

【2,2】【3,2】y表内容为:

【1,3】

选路方法:

节点路由时进行查表:

先查x表即进行x方向路由,如果查表能指明下一跳方向则直接进入下一跳。

如果不能则继续查y表,直到到达目的地。

第四章对称多处理机系统

参照图,试解释为什么采用WT策略进程从

迁移到

时,或采用WB策略将包含共享变量X的进程从

时,会造成高速缓存的不一致。

图进程迁移所造成的不一致性

采用WT策略进程从

后,

写共享变量X为X’,并且更新主存数据为X’,此时

共享变量值仍然为X,与

和主存X’不一致。

采用WB策略进程从

写共享变量X为X’,但此时

缓存与主存变量值仍然为X,造车不一致。

参照图所示,试解释为什么:

①在采用WT策略的高速缓存中,当I/O处理器将一个新的数据

写回主存时会造成高速缓存和主存间的不一致;

②在采用WB策略的高速缓存中,当直接从主存输出数据时会造成不一致。

图绕过高速缓存的I/O操作所造成的不一致性

①中I/O处理器将数据X’写回主存,因为高速缓存采用WT策略,此时P1和P2相应的高速缓存值还是X,所以造成高速缓存与主存不一致。

②直接从主存输出数据X,因为高速缓存采用WB策略,可能高速缓存中的数据已经被修改过,所以造成不一致。

4.3试解释采用WB策略的写更新和写无效协议的一致性维护过程。

其中

为更新前高速缓存中的拷贝,

为修改后的高速缓存块,I为无效的高速缓存块。

处理器P1写共享变量X为X’,写更新协议如图(c)所示,同时更新其他核中存在高速缓存拷贝的值为X’;

写无效协议如图(b)所示,无效其他核中存在高速缓存拷贝,从而维护了一致性过程。

4.4两种基于总线的共享内存多处理机分别实现了IllinoisMESI协议和Dragon协议,对于下面给定的每个内存存取序列,试比较在这两种多处理机上的执行代价,并就序列及一致性协议的特点来说明为什么有这样的性能差别。

序列①r1w1r1w1r2w2r2w2r3w3r3w3;

序列②r1r2r3w1w2w3r1r2r3w3w1;

序列③r1r2r3r3w1w1w1w1w2w3;

所有的存取操作都针对同一个内存位置,r/w代表读/写,数字代表发出该操作的处理器。

假设所有高速缓存在开始时是空的,并且使用下面的性能模型:

读/写高速缓存命中,代价1个时钟周期;

缺失引起简单的总线事务(如BusUpgr,BusUpd),60个时钟周期;

缺失引起整个高速缓存块传输,90时钟周期。

假设所有高速缓存是写回式。

读写命中、总线事务、块传输分别简记为H、B、T。

MESI协议:

①BTHHHHBTHBHHHBTHBHHH共5B+12H+3T=582时钟周期②BTHBTHBTHBHBTHBTHBTHBTHHBHBTH共10B+12H+8T=1330时钟周期③BTHBTHBTHHBHHHHBTHBTH共6B+10H+4T=730时钟周期。

Dragon协议:

①BTHHHHBTHBTHHBTHBTHBTHHBTH共7B+12H+7T=882时钟周期②BTHBTHBTHBTHBTHBTHHHHHBTTHBTH共8B+12H+8T=1212时钟周期③BTHBTHBTHHBTHBTHBTHBTHBTHBTH共9B+10H+9T=1360时钟周期。

由结果得出,①、③序列用MESI协议时间更少,而②序列用Dragon协议时间更少。

综上可知,如果同一块在写操作之后频繁被多个核读操作采用Dragon协议更好一些,因为Dragon协议写操作后会更新其它核副本。

如果一个同多次连续对同一块进行写操作MESI协议更有效,因为它不需要更新其它核副本,只需要总线事务无效其它核即可。

考虑以下代码段,说明在顺序一致性模型下,可能的结果是什么假设在代码开始执行

时,所有变量初始化为0。

a.

P1

P2

P3

A=1

U=A

V=B

B=1

W=A

b.

P4

W=B

X=A

顺序一致性模型性下,保护每个进程都按程序序来发生内存操作,这样会有多种可能结果,这里假设最简单情况,即P1、P2、P3依次进行。

则a中U=V=W=1,b中U=X=W=1,V=0。

4.6参照4.6.1中讨论多级高速缓存包含性的术语,假设L1和L2都是2-路组相联,n2>

n1,b1=b2,且替换策略用FIFO来代替LRU,试问包含性是否还是自然满足如果替换策略是随机替换呢

如果采用FIFO替换策略包含性自然满足,因为L1和L2都是2路组相联,FIFO保证了L1与L2在发生替换时会换出相同的缓存块,维护了包含性。

如果采取随机替换策略,存在L1与L2替换不是相同块的情况,故不满足包含性。

4.7针对以下高速缓存情况,试给出一个使得高速缓存的包含性不满足的内存存取序列

L1高速缓存容量32字节,2-路组相联,每个高速缓存块8个字节,使用LRU替换算法;

L2高速缓存容量128字节,4-路组相联,每个高速缓存块8个字节,使用LRU替换算法。

假设m1、m2、m3块映射到一级Cache和二级Cache的同一组中,考虑如下内存存取序列Rm1,Rm2,Rm1,Rm3,由LRU替换算法知道,当Rm3执行后,L1中被替换出的是m2,L2中被替换出的是m1,此时m1块在L1却不在L2中,不满足包含性。

4.8在中关于分事务总线的讨论中,依赖于处理器与高速缓存的接口,下面情况有可能发生:

一个使无效请求紧跟在数据响应之后,使得处理器还没有真正存取这个高速缓存块之前,该高速缓存块就被使无效了。

为什么会发生这种情况,如何解决

考虑如下情景:

SMP目录一致性协议中,核1读缺失请求数据块A,主存响应请求传送数据块A给核1,同时核2对数据块A进行写操作,到主存中查得核1拥有副本,向核1发使无效请求。

如此,一个使无效请求紧跟在数据响应之后。

解决方法,可以使每个核真正存取高速缓存块后向主存发回应,然后再允许其它对此块操作的使无效或其它请求。

4.9利用LL-SC操作实现一个Test&

Set操作。

Test&

Set:

llreg1,location/*Load-lockedthelocationtoreg1*/

bnzreg1,lock/*iflocatinwaslocked,tryagain*/

movreg2,1/*setreg21*/

sclocation,reg2/*storereg2conditionalintolocation*/

4.10在4.7.4部分描述具有感觉反转的路障算法中,如果将Unlock语句不放在if条件语句的每个分支中,而是紧接放在计数器增1语句后,会发生什么问题为什么会发生这个问题

再进入下一个路障时可能会发生计数器重新清0现象,导致无法越过路障。

第一次进入路障时,最后两个进入路障的进程分别为1、2。

假设最后进入路障的进程为2进程,2进程执行共享变量加一操作并解锁。

然后2进程执行一条if条件语句,此时由于某种原因换出或睡眠,而此时共享变量的值已经为p。

如果1进程此时正执行if条件语句,则清零计数器,设置标志,其它进程越过路障。

到目前为止没有出现问题,问题出现在下一次进入路障。

进程再一次进入路障,此时会执行共享变量加一操作。

如果此时2进程被换入或被唤醒,会重新清零共享变量,使之前到达路障的进程的加一操作无效,导致无法越过路障。

第五章大规模并行处理机系统

简述大规模并行处理机的定义,原理和优点

并行处理机有时也称为阵列处理机,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1