。
(0)
报道的聚集带宽
SunFir总服务器屮的
Gigaplane总孑戈:
2.67GB/s
IBMSP2中的£12节点的HPS:
10,24GB/s
Digital的T兆开
关:
3,4GB/s
农2.2动态互连网络的夏乂度和帯宽性能珈
Nctwarks
Delay
Cost
Blocking
Example
Bus
<>(>)
0(0
Yes
SunFircplaneBus:
2.67Gli/n
MINs
O(logN)
O(NlogM
Yes
IBMSP2:
10.24GB/S
CiTiissbar
0
(1)
O(N2)
No
DigitalGiga
Switch:
3,4GIt/s
代别类型
以太网
lOBaseT
快速以太网
100BaseT
千兆位以太网
1GB
引入年代
1982
1994
1997
速度(带宽)
10Mb/s
100Mb/s
1Gb/s
最大距离
UTR(非屏蔽双扭对)
100m
100m
25—100m
STP(屏蔽双扭对)同轴电缆
500m
100m
25—100m
多模光纤
2Km
412m(半双工)
2Km(全双工)
500m
单模光纤
25Km
20Km
3Km
主要应用领域
文件共享,打印机共享
COW计算,C/S结构,大型数据库存取等
大型图像文件,多媒体,因特网,内部网,
数据仓库等
常用的标准互联网络有:
FDDI:
光纤分布式数据结构采用双向光纤令牌环可提供100~200Mb/s数据传输。
双向环可
提供冗余通路,以提高可靠性。
缺点是不能支持多媒体信息流。
其他还有快速以太网,Myrinet,HiPPI高性能并行接口),ATM(异步传输模式),Scalable
CoherentInterface(SCI),QuadricsInterconnect(QsNet),InfiniBand
4比较并行计算模型PRAM、BSP和logP。
评述它们的差别、相对优点以及在模型化真实并行计算机和应用时的局限性。
1)PRAM模型:
并行随机存取机器,也可称为共享存储的SIMD模型。
特点:
假定存在着一个容量无限大的共享存储器,有有限或无限个功能相同的处理器,且均有简单的算术运算和逻辑判断功能。
在任何时刻各处理器均可通过共享存储单元相互交
换数据。
优点:
特别适合于并行算法的表达、分析和比较;使用简单,很多诸如进程间通信、存储管理和进程同步等并行机的低级细节均隐含于模型中;易于设计和稍加修改便可运行在
不同的并行机上;且有可能在PRAM模型中加入一些诸如同步和通信等需要考虑的问题。
缺点:
PRAM是一个同步模型,这意味着所有指令均按锁步方式操作;用户虽感觉不到同步的存在,但它的确是很费时的;共享单一存储器的假定,显然不适合分布存储的异步的
MIMD机器;假定每个处理器均可在单位时间内访问任何存储单元而略去存取竞争和有限带宽等是不现实的。
2)BSP模型:
“大”同步模型,是个分布存储的MIMD计算模型。
特点:
BSR各处理器和选路器分开,强调了计算任务和通信任务的分开,而选路器仅施行点到点的消息传递,不提供组合、复制或广播等功能,这样做既掩盖了具体的互联网拓扑,又简化了通信协议;采用路障方式的以硬件实现的全局同步是在可控的粗粒度级,从而提供
了执行紧耦合同步式并行算法的有效方式,而程序员无过分的负担;为PRAM模型所设计的
算法均可采用在每个BSP处理器上模拟一些PRAM处理器的方法实现之。
优点
在软件和硬件之间架起一座类似于冯•偌依曼的桥梁;
如果计算和通信可合适的平衡,则可克服分布MIMI模型编程能力较差的特点;
实现了一些重要的算法,且均避免了自动存储管理的额外开销;
可有效地在超立方网络和光交叉开关互利技术上实现,与特定的工艺技术无关,只
要选路器有一定的通信吞吐率。
缺点
在BSP莫型中,要求超级步的长度必须能充分地适应任意的h-relation;
超级步发送的消息最快也要在下一个超级步才可以使用;
BSP模型中的全局路障同步假定是用特殊的硬件支持,在很多并行机中可能没有相
应的现成的硬件机构。
3)logP模型:
是一种分布存储的,点到点通信的多处理机模型。
特点
logP模型是一种分布存储的、点到点通信的多处理机模型,其中通信网络由一组参数来描述,但它不涉及具体网络结构,也不假定算法一定要用显式的消息传递操作进行描述(实
现隐式同步)。
优点
logP模型将现代和将来的并行机的特性进行了精确的综合,以少量的参数L、0、g
和p刻画了并行机的主要瓶颈;
无须说明编程风格或通信协议,可以等同地用于共享存储、消息传递和数据并行等各种风范;
logP模型的可用性已得到多个算法的证实;
logP模型是BSP模型的细化,也可以转换为PRAMI型;打开了研究模型的新途径,为设计并行机体系结构提供了指导性意见。
缺点
(难以进行算法描述、设计和分析)
BSP和logP相互比较:
1.现今最流行的并行计算模型是BSF和logP,已经证明两者本质上是等效的,且可以互相模拟;2.BSP为算法和程序提供了更多的方便,而logP却提供了较好
的机器资源的控制;3.BSP所引起的精确度方面的损失比起其所提供的更结构化的编程风格的优点来是小的;4.BSP模型在简明性、性能的可预测性、可移植性和结构化可编程性等方面更受人欢迎和喜爱。
LogP和PRAIMI型是并行计算模型的两个极端.BSP模型可以看成是上述两个模型的折衷
相比之下丄ogP模型过于复杂,缺乏有效的分析和性能预测的模型,而PRAI则过于简单,无法
真实地描述物理机器。
BSP模型较好地综合了其它两个模型优点,在面向物理机器实现方面优于PRAMI型,而和LogP模型相比,又更加便于进行算法设计和性能预测。
4.比较在PRAM模型和BSP模型上,计算两个N阶向量内积的算法及其复杂度
PRAM模型
求两个N维向量A,B的内积s(s=Ea*b)
串行:
N个乘法,N-1个加法
共需2N个周期
PRAM机(n个处理器):
每个处理器p完成N/n个乘法,N/n-1个加法,共2N/n个周期,然后采用树归约方法将n个局
部和相加---logn周期,共需要2N/n+logn个周期
加速度:
2N/(2N/n+logn)n(N>>n)
BSP模型
求两个N维向量A,B的内积s(s=Ea*b)假设8个处理器
超步1:
计算:
每个处理器在w=2N/8周期内计算局部和
通讯:
处理器0,2,4,6将局部和送给1,3,5,7
路障同步
超步2:
计算:
处理器1,3,5,7各自完成一次加法(w=1)
通讯:
1,5将中间结果送给3,7
路障同步
超步3:
计算:
处理器3,7各自完成一次加法(w=1)
通讯:
3将中间结果送给7
路障同步
超步4:
计算:
处理器7完成一次加法(w=1),产生最后结果
总执行时间:
2N/8+3g+3l+3个周期•在n个处理器的BSP机上需
2N/n+logn(g+l+1)个周期,比PRAM多了(g+l)*logn,其分别对应
于通讯和同步的开销
5.什么是加速比(speedup)、并行效率(efficiency)和可扩展性(scalability)?
如何描述在不同约束下的加速比?
答:
粒度:
是各个处理机可独立并行执行的任务大小的度量大粒度反映可并行执行的运算
量大,亦称为粗粒度指令级并行等则是小粒度并行,亦称为细粒度
加速比:
串行执行时间为Ts,使用q个处理机并行执行的时间为Tp(q),则加速比
为Sp(q)=Ts/Tp(q)
简单的说,并行系统的加速比是指对于一个给定的应用,并行算法(或并行程序)
的执行速度相对于串行算法(或串行程序)的执行速度快了多少倍。
效率:
设q个处理机的加速比为Sp(q),则并行算法的效率Ep(q)=Sp(q)/q。
反映了
并行系统中处理器的利用程度
可扩放性:
其最简朴的含义是在确定的应用背景下,计算机系统(或算法或编程等)性能随
处理器数的增加而按比例提高的能力。
在不同的约束条件下的加速比产生了三个重要的加速比性能定律:
Amdahl定律:
约束条件:
1,对于很多科学计算,实时性要求很高,即在此类应用中时间是个关键因素,
而计算负载是固定不变的。
为此在一定计算负载下,达到实时性可利用增加处理器数来提高计算速度。
2,因为固定的计算负载是可分布在多个处理器上的,这样增加了处理器就加快了执行速度,从而达到了加速的目的。
WsWp
S-s―;不带通信开销的计算公式
WsWp/p
带通信开销的计算公式
-x-p
-p
WspWo
p
Gustafson定律:
1,对于很多大型计算,精度要求很高,即此类应用中精度是个关键因素,而计算时间是固定不变的。
此时为了提高精度,必须加大计算量,相应的亦必须增多处理器
数目才能维持计算时间不变。
2,除非学术研究,在实际应用中没有必要固定工作负载而使
计算程序运行在不同数目的处理器上,增多处理器必须相应增大问题的规模才有实际意义。
考虑额外开销)
Sun—Ni定律:
只要存储空间许可,应尽量增大问题的规模以产生更好的或更精确的解(此时可能使执行时间略有增加)。
S'、(1—f)G(p)Wf(1—f)G(p)(不考虑额外开销)
fW+(1—f)G(p)W/pf+(1—f)G(p)/p
s,^fW(^f)G(p)Wf(1-f)G(p)—(考虑额外开销)
fW+(1—f)G(p)W/p+Wof+(1—f)G(p)/p+Wo/W
6.如何进行并行计算机性能评测?
什么是基准测试程序?
什么是可扩放性测量标准?
如何进行并行计算机性能评测:
(没有如何进行并行计算性能评测)。
基准测试程序用于测试和预测计算机系统的性能,揭示了不同结构机器的长处和短处,为用
户决定购买和使用哪种机器最适合他们的应用要求提供决策。
可扩放性测量标准:
是在确定的应用背景下,计算机系统性能虽处理器数的增加而按比例提高的能力。
7.并行算法设计的一般过程PCAM是指什么?
各个步骤中的主要判据是什么?
PCAM是Partitioning(划分)、Communication(通信)、Agglomeration(组合)和Mappin(映射)首字母的拼写,它们代表了使用此法设计并行算法的四个阶段。
上述各阶段简述如下:
划分:
将整个计算分解成小的任务,其目的是尽量开拓并发执行的机会;
通信:
确定诸任务执行中所需交换的数据和协调诸任务的执行,由此可检测上述划分的合理
性。
组合:
按性能要求和实现的代价来考察前两阶段的结果,必要时可将一些小的任务组合成更大的任务以提高性能或减少通信开销。
映射:
将每个任务分配到一个处理器上,其目的是最小化全局执行时间和通信成本以及最大
化处理器的利用率。
划分判据:
(1)你所划分的任务数,是否至少高于目标机上处理器数目的一个量级?
如果不是,则你在后继的设计步骤中将缺少灵活性。
(2)你的划分是否避免了冗余的计算和存储要求,如果不是,则所产生的算法对大型问题可能是不可扩放的。
(3)诸划分的任务是否尺寸大致相当,如果不是,则分配处理器时很难做到工作量均衡。
(4)戈U分的任务数是否与问题尺寸成比例?
理想情况下,问题尺寸的增加应引起任务数的增加而不是任务尺寸的增加。
如果不是这样,则你的算法可能不能求解更大的问题,尽管有更多的处理器。
(5)确认你是否采用了几种不同的划分法,多考虑几种选择可提高灵活性,同时要考虑域分解又要考虑功能分解。
通讯判据:
(1)所有任务是否均执行同样多的通信?
如果不是,则所设计的算法的可扩展性可
能是不好的。
(2)每个任务是否只与少许的近邻相通信?
如果不是,则可能导致全局通信,在此
情况下,应设法将全局通信结构化为局部通信结构。
(3)诸通信操作是否能并行执行?
如果不是,则所设计的算法很可能是低效的和不
可扩放的,在此情况下,设法试用分治技术来开发并行性。
(4)不同任务的计算能否并性执行?
如果不是,则所设计的算法很可能是低效的和
不可扩放的,在此情况下,可考虑重新安排通信/计算之次序等来改善之。
组合判定:
(1)用增加局部性方法施行组合是否减少了通信成本?
如果不是,检查能否由别的组合策略来达到
(2)如果组合已造成重复计算,是否已权衡了其权益。
(3)如果组合已重复了数据,是否已证实这不会因限制问题尺寸和处理器数的变化范围而牺牲了可扩放性?
(4)由组合所产生的任务是否有类似的计算和通信代价。
(5)任务数目是否仍然与问题尺寸成比例?
如果不是,算法则不是