第6章__阵列处理机
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•本章难点:
并行算法和多级互连网络。
6.1 阵列处理机原理
6.1.1 阵列处理机的基本构形
阵列处理机(Array Processor),也称为并 行处理机(Parallel Processor)主要用于对大 量向量、数组要求高速运算的场合。 阵列处理机是重复设置处理单元按一定方 式连成阵列在单一控制部件控制下对各自分配 的数据执行同一指令规定的操作,是操作级并 行的SIMD的计算机。 由于存储器的组成方式不同,阵列处理机 有两种不同的基本构形。
让J=0~7各部分同时在PE0~PE7上运算,这 样只需K、J二重循环,速度可提高至8倍,即 只需64次乘、加的时间。(164页图6.5) 每次控制部件执行的PE指令表面上是标量 指令,实际上已等效于向量指令,是8个PE并 行地执行同一条指令。每次播送时,利用阵列 处理机的播送功能将处理单元PEK中累加寄存 器RAGK的内容经控制部件CU播送到全部8个处 理单元的RGA中去。 为了让各个处理单元PEi尽可能只访问所带 局部存储器PEMi,以保证高速处理,就必须要 求对矩阵A、B、C各分量在局部存储器中的分 布采用165页如图6.6所示的方案。
PU56 PU63
PU57 2 3 4 5 6
PU 63 PU 8
PU0 PU8 16 24 32 40 48
PU1 PU9 17 25 33 41 49 PU57 PU1
PU7
PU8
10 11 12 13 14 18 26 34 42 50 19 27 35 43 51 20 28 36 44 52 21 29 37 45 53 22 30 38 46 54
·
PE0 PE1
MM0 MM1
CU ……
SC
PEN-1
ICN互连网络
··
……
MMk-1
I/O-CH
I/O SM 具有集中式共享存储器的阵列处理机构形
各处理单元在访主存时,为避免发生分体冲 突,也要求有合适的算法能将数据合理地分配到 各个存储体中。 互连网络ICN是用于在处理单元与存储器分 体之间进行转接构成数据通路,使各处理单元能 高速灵活地动态与不同的存储体相连,使尽可能 多的PE能无冲突地访问共享的主存模块。 集中式共享存储器的阵列处理机主要特点是 将资源重复和时间重复结合起来开发并行性。 采用这种构形的典型机器有BSP。
其中0≤ i≤ 7且 0≤ j≤ k 1 在SISD计算机上求解,用FORTRAN语言编写程序为: DO 10 I=0,7 DO 10 J=0,7 C(I,J)=0 DO 10 K=0,7 10 C(I,J)=C(I,J)+A(I,K)*B(K,J)
C i j ai k bk j 7。
6.3
SIMD计算机的互连网络
6.3.1 互连网络的设计目标及互连函数
在SIMD计算机中,无论是处理单元之间, 还是处理单元与存储分体之间,都要通过互连 网络交换信息。 SIMD系统的互连网络的设计目标是:结构 不要过分复杂,以降低成本;互连要灵活,以 满足算法和应用的需要;处理单元间信息交换 所需传送步数要尽可能少,以提高速度性能; 能用规整单一的基本构件组合而成,或者经多 次通过或者经多级连接来实现复杂的互连,使 模块性好,以便于用VLSI实现并满足系统的可 扩充性。
在阵列机中,各个处理单元和存储模块之 间都要经过网络交换信息。衡量互连网络性能好 坏的主要因素是它的连接度、延时性、带宽、可 靠性和成本。 设计互连网时应考虑的四个特征是: 1、操作方式:有同步、异步及同步/异步组合 等三种。阵列机都采用同步工作方式,也就 是各种命令的广播和并行操作都由统一的时 钟加以同步控制。异步及同步/异步组合操 作方式一般多用于多处理机。
P180习题6.1
[解]如图:
百度文库
与PU0相连的处理单元有:PU1、PU12、PU15、PU4 与PU1、PU12、PU15、PU4相连的有PU2、PU3、PU5、 PU13、PU8、PU11、PU14(删去一步单元) 与PU2、PU5、PU13、PU8、PU11、PU14相连的有: PU6、PU7、PU9、PU10(删去一、二步单元)
控制
SC I/O 接口 D
控 制
PEM0
PE0
· · · · ·
数据总线
CU CUM
PEM1
…… PEMN-1
PE1
……
PEN-1
控制总线
ICN互连网络
具有分布式存储器的阵列处理机构形
为了有效高速地处理向量数据,这种构形要 求能把数据合理地预分配到各个处理单元的局 部存储器中,使各处理单元PEi主要用自己的局 存PEMi中的数据运算。 采用这种构形的阵列处理机是SIMD的主流。 典型机器有ILLIAC Ⅳ 、MPP、 DAP、CM-2、 MP-1、DAP600系列等。 2、集中式共享存储器的阵列处理机构形 系统存储器由K个存储体集中组成,并经 ICN为全部N个处理单元所共享。 为使各处理单元对长度为N的向量中各个元 素都能同时并行处理,存储体体数K应等于或多 于处理单元数N。
(8)处于活跃状态的所有PEi执行(RGAi):= (RGAi)+ (RGRi), j<i≤7; (9) K:=K+1; (10)如K<3,则转回(4),否则往下继续执行; (11)置全部PEi为活跃状态, 0≤I≤7; (12)将全部PEi的累加寄存器内容(RGAi)存入相应 PEMi的 α 1 单元中, 0≤I≤7。 165页图6.5描绘了阵列处理机上累加和的计算 过程。 上例可以实现累加和的并行运算,但由于屏蔽 了部分处理单元,降低了它们的利用率,所以速度 不是提高N倍,而只是N/log2N倍。
5、阵列机的研究必须与并行算法研究密切结
合,以使它的求解算法适应性更强一些,应 用面更广一些(与并行算法结合研究)。
阵列处理机实质上是由专门对付数 组运算的处理单元阵列组成的处理机、 专门从事处理单元阵列的控制及标量处 理的处理机和专门从事系统输入输出及 操作系统管理的处理机组成的一个异构 型多处理机系统。
PE0经一步可将信息传送至PU1、PU4、PU12、PU15。 PE0至少需经二步才能将信息传送至PU2、PU3、PU5、 PU8、PU11、PU13、PU14。 PE0至少需经三步步才能将信息传送至PU6、PU7、PU9、 PU10。
6.2.2 阵列处理机的并行算法举例 1、矩阵加
把C=A+B中的属于同一位置向量元素放在同一局部 存储器中。两个8 × 8的矩阵A、B相加,所得结果C也 是8 × 8矩阵,矩阵相加的存储器分配如下图所示(“全 并行”的工作特点,速度提高,但存储单元分配算法的 设计比较麻烦)。
3、累加和
把向量存到所有处理单元的局部存储器中。 将N个数的顺序相加转为并行相加的问题。 取N=8,即有8个数A(I)顺序累加,其中 0≤I≤7。 在SISD计算机上可以写成FORTRAN程序: C=0 DO 10 I=0,7 10 C=C+A(I) 这是一个串行程序,需要8次加法时间。
在阵列处理机上用成对递归相加算法,只需 log28 3 次加法时间即可。首先,原始数据A(I)分别存放在8个 PEM的 α 单元中,其中0≤I≤7,求累加和的步骤如下: (1)置全部PEi为活跃状态, 0≤I≤7; (2)全部 A(I)从PEMi的 α 单元读到相应PEi的累加寄存 器RGAi中, 0≤I≤7; (3)令K=0; (4)将全部PEi的(RGAi)转送到传送寄存器RGRi, 0≤I≤7; (5)将全部PEi的(RGRi)经过互连网络向右传送2K步距, 0≤I≤7; (6)令j=2K-1; (7)置PE0~PEj为不活跃状态;
…
PEM0
…
…
A(0,0) α 1 B(0,0) α 2 C(0,0)
α
A(0,1) B(0,1) C(0,1) PEM1
……
A(7,7) B(7,7) C(7,7) PEM63
…
矩阵相加的存储器分配举例
…
…
2、矩阵乘
把C=A*B的各向量按列存放在一个局部存储器中。 设A、B和C为3个8 ×8的二维矩阵,给定A和B,计 算C=A*B得64个分量可用公式:
1、分布式存储器的阵列处理机构形 各处理单元有局部存储器PEM(Processing Element Memory)存放被分布的数据,只能被 本处理单元直接访问。在控制部件CU上有一 主存可传播给各个处理单元,运算中可通过 互连网络ICN交换数据。 在执行主存中的用户程序时,所有指令都 在控制部件中进行译码,把只适合串行处理 的标量或控制类指令留给控制部件CU自己执 行,而把适合于并行处理的向量类指令“播 送”给各个PE,控制处于“活跃”的那些PE 并行执行。下图是采用分布式存储器的阵列 处理机构形。
PU15 23 31 39 47 55 PU63 PU 7
PU16
PU55
PU56 PU0
58 59 60 61 62
PU0
• 采用闭合螺线最短距离不超过7步。而普通网格 最短距离不超过8步。这种阵列中,任意两个单 元之间的最短距离不超过 N 1步。 • 例如:从PU0到PU36的距离:采用普通网格必须 8步:PU0 PU1 PU2 PU3 PU4 PU12 PU20 PU28 PU36 或 PU0 PU8 PU16 PU24 PU32 PU33 PU34 PU35 PU36 或 ……(等于8步的很多,大于8步的更多)
6.2 阵列处理机的并行算法
6.2.1 ILLIAC Ⅳ的处理单元阵列结构
ILLIAC IV处理阵列由88=64个PU组成。 每个PU由处理部件PE和它的局部存储器PEM组 成。 每一个PUi只和它的上、下、左、右四个 近邻直接连接。{PUi+1 mod 64、PUi-1 mod 64、 PUi+8 mod 64、PUi-8 mod 64} 上下方向上同一列的PU连成一个环,左右 方向上构成一个闭合螺线。
6.1.2
阵列处理机的特点
1、利用资源重复而不是时间重叠;利用并行性中的同 时性而不是并发性。 2、资源利用率不如流水线高,但提高速度的潜
力比流水线处理机大。(阵列处理机主要是 靠增大处理单元数提高速度,向量流水处理 机主要靠缩短时钟周期提高速度)。 3、阵列处理机使用简单规整的互连网络来确定处 理单元间的连接,因此,互连网络设计很重要。 4、它是以某类算法为背景的专用计算机,基本上 是专用于向量处理的计算机(某类算法专用机), 故阵列处理机专用性强。
如果采用闭合螺旋线,只需要7步: PU0 PU63 PU62 PU61 PU60 PU52 PU44 PU36
普通网格必须8步: PU0 PU1 PU2 PU3 PU4 PU12 PU20 PU28 PU36 或 PU0 PU8 PU16 PU24 PU32 PU33 PU34 PU35 PU36 或 …… 闭合螺旋线只要7步: PU0 PU63 PU62 PU61 PU60 PU52 PU44 PU36 或 PU0 PU63 PU55 PU47 PU39 PU38 PU37 PU36 或 ……
第6章
6.1 6.2 6.3 6.4 6.5
阵列处理机
阵列处理机原理 阵列处理机的并行算法 SIMD计算机的网络互连 并行存储器的无冲突访问 并行处理机举例
•本章重点:
总的要求是理解阵列处理机的结构和工作原 理。了解与流水处理机的差别。理解在阵列处 理机解题时对并行算法及存储单元分配规则、 互连网络等的特殊要求。熟练掌握基本的单级 网络及其互连函数表示。理解循环互连网络的 实现。熟练掌握多级网络、全排列网络的画法。 理解解决并行存储器无冲突访问的办法。 互连函数和多级互连网络。
7
需经I、J、K三重循环完成。每重循环执行8 次,共需512次相乘、加得时间,且每次还要包 括执行循环控制判别等其它操作所需得时间。 如果在SIMD阵列机上运算,可用8个处理单 元并行计算矩阵C(I,J)得某一行或某一列,即将 J循环或I循环转化成一维的向量处理,从而消去 了一重循环。以消去J循环为例,可执行的 FORTRAN语言编写的程序为: DO 10 I=0,7 C(I,J)=0 DO 10 K=0,7 10 C(I,J)=C(I,J)+A(I,K)*B(K,J)