第六章  阵列
This presentation is the property of its rightful owner.
Sponsored Links
1 / 32

第六章 阵列 处理机 PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on
  • Presentation posted in: General

第六章 阵列 处理机. 并行 处理机. 阵列处理机 ( Array Processor )也称 并行处理机 ( Parallel Processor )通过重复设置大量相同的处理单元 PE ( Processing Element ),将它们按一定方式互连成阵列,在单一控制部件 CU ( Control Unit )控制下,对各自所分配的不同数据并行执行同一组指令规定的操作。操作级并行的 SIMD 计算机。. 目录. 阵列处理机的原理 SIMD 计算机的互连网络 脉动阵列处理机 . §1 阵列 处理机的原理. 阵列处理机的构形与特点

Download Presentation

第六章 阵列 处理机

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


3043683

第六章 阵列处理机


3043683

并行处理机

  • 阵列处理机(Array Processor)也称并行处理机(Parallel Processor)通过重复设置大量相同的处理单元PE(Processing Element),将它们按一定方式互连成阵列,在单一控制部件CU(Control Unit)控制下,对各自所分配的不同数据并行执行同一组指令规定的操作。操作级并行的SIMD计算机。


3043683

目录

  • 阵列处理机的原理

  • SIMD计算机的互连网络

  • 脉动阵列处理机


3043683

§1 阵列处理机的原理

  • 阵列处理机的构形与特点

  • ILLIAC IV的处理单元阵列结构

  • ILLIAC IV的并行算法举例


3043683

典型并行处理机

系统型号

SIMD计算系统结构和性能

语言、编译器

和软件支持

MasParMP-1系列

1024~16384个PE, 26 GIPS或1.3 Gflops; 每个PE带16KB本地存储器, X-Net网格加一个多级交叉开关互连网

Fortran77, MasPar Fortran (MPF)和MasPar并行应用语言; X窗口UNIX/OS, 符号调试程序, 可视化和动画制作程序


3043683

Thinking Machines公司CM-2

65536个PE排成10维超立方体, 每个PE可有1M位存储器, 32个PE共享FPU选件, 峰值速度28 Gflops和持续速度5.6 Gflops

由VAX, Sun或Symbolics 360主机驱动, PARIS支持的Lisp编译器、Fortran90、C*和*Lisp

Active Memory Technology DAP600系列

1K位/PE方形网格互连成4096PE的细粒、位片SIMD阵列,正交4-邻位链接,20GIPS和560Mflops峰值性能

由主机VAX/VMS或UNIX Fortran-plus 或DAP上APAL提供,主机的Fortran77或C; 与Fortran90标准有关的Fortran-plus


3043683

阵列处理机的构形与特点

  • 分布式存储器的阵列处理机构形

  • 集中式共享存储器的阵列处理机构形

  • 一台阵列处理机由五个部分组成

    • 多个处理单元PE

    • 多个存储器模块M

    • 一个控制器CU

    • 一个互连网络ICN

    • 一台输入输出处理机IOP


3043683

分布式存储器的阵列处理机

  • 各处理单元设有局部存储器PEM(Processing Element Memory),存放被分布的数据;只能被本处理单元直接访问

  • 控制部件CU设有存放程序和数据的主存储器

  • 整个系统在CU控制下运行用户程序和部分系统程序

  • 处理单元之间可通过互联网络ICN(Interconnection Network)

  • 目前的大部分阵列处理机是基于分布式存储器模型的系统


3043683

CU

IOP

……

LM0

LM1

LMn-1

PE0

PE1

PEn-1

……

互连网络


3043683

举例

  • 60年代研制,1972年Burroughs公司的ILLIAC IV阵列处理机

  • 1979年美国Goodyear公司MPP

  • 1974年设计、1980年英国ICL公司的分布式阵列处理机DAP

  • 美国Thinking Machines公司的CM-2

  • MasPar公司的MP-1

  • Active Memory Technology的DAP 600


3043683

集中式共享存储器的阵列处理机

  • 存储器由K个存储体集中组成,经互联网络ICN为全部N个处理单元所共享

  • 互联网络用于在处理单元与存储体分体之间进行转接而构成数据通路

  • 对准网络(Alignment Network)

  • Burroughs公司和伊利若大学联合BSP


3043683

CU

……

PE0

PE1

PEn-1

互连网络

……

SM0

SM1

SMk-1

IOP


3043683

阵列处理机的特点

  • 背景----科学计算

    • 有限差分、矩阵、信号处理、线性规划

    • 数组、向量处理

  • 资源重复,利用并行性中的同时性

  • 简单而规整的互联网络---设计重点

  • 专用机

  • 与并行算法紧密相联


3043683

阵列处理机

  • 阵列处理机实质上是由

    • 专门对付数组运算的处理单元阵列组成的处理机

    • 专门从事处理单元阵列的控制及标量处理的处理机

    • 专门从事系统输入输出及操作系统管理的处理机

  • 组成的一个异构型多处理机系统


Illiac iv

ILLIAC IV的处理单元阵列结构

  • 阵列处理机上并行算法的研究与结构紧密联系在一起

  • 并行处理机处理单元阵列的结构又是适合于一定类型计算问题而专门设计的结构


Illiac

PU57

PU63

PU56

PU0

PU1

PU7

PU8

PU7

PU8

PU9

PU15

PU16

PU55

PU56

PU57

PU63

PU0

PU1

PU7

PU0

ILLIAC ⅠⅤ的处理单元阵列结构

PU63

闭合螺线阵列


3043683

特点

  • 闭合螺线阵列

  • 任意单元的最短距离不超过7步

  • 一般来讲: 个处理单元组成的阵列中,任意两个处理单元之间的最短距离不会超过 步

  • 处理单元为通常的累加型运算器,把类加寄存器RGA中的数据和存储器来的数据进行操作


Illiac iv1

ILLIAC IV的并行算法举例

  • 矩阵加

  • 矩阵乘

  • 累加和


3043683

矩阵加

  • 两个8*8矩阵相加,把分量放在每一个PEM内

  • 算法:

    LDA ALPHA

    ADRN ALPHA+1

    STA ALPHA+2

  • 说明

    • 速度提高64倍;

    • 信息如何分布于局部存储器的算法与系统结构及求解问题直接相关;


3043683

A(0,0)

A(0,1)

A(7,7)

B(0,0)

B(0,1)

B(7,7)

C(0,0)

C(0,1)

C(7,7)

PEM0

PEM1

PEM63

矩阵相加的存储器分配


3043683

矩阵乘

  • 设A、B和C为三个8*8的二维矩阵

    计算:C=A*B,


3043683

矩阵乘(续)

  • SISD 算法:

    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)

  • 说明

    • SISD算法需8*8*8=512次运算


3043683

矩阵乘(续)

  • SIMD算法:

    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)

  • 说明

    • SIMD算法需8*8=64次运算


3043683

C(0,0)

A(0,0)

B(0,7)

B(0,0)

A(0,7)

C(0,0)

C(0,1)

B(0,1)

A(0,1)

B(1,0)

C(1,0)

A(1,0)

B(1,1)

A(1,7)

C(1,1)

C(1,7)

B(1,7)

A(1,1)

:

:

:

:

:

:

:

:

:

A(7,1)

A(7,0)

B(7,7)

C(7,7)

B(7,1)

C(7,1)

A(7,7)

C(7,0)

B(7,0)

PEM1

PEM7

PEM0

矩阵乘的存储器分配


3043683

累加和

  • 将N个数按顺序相加


3043683

累加和(续)

  • SISD算法:

    C=0

    DO 10 I=0,7

    10 C=C+A(I)

  • 说明

    • 需要8次加法


3043683

累加和(续)

  • SIMD算法:递归相加

  • 说明

    • 需要 次加法

    • 速度提高


3043683

  • 置全部PEi为活跃状态, 0≤i≤7

  • 全部A(I)从PEMi的α单元读到相应PEi的累加寄存器RGAi中, 0≤i≤7;

  • 令k=0;

  • 将全部PEi的(RGAi)转送到传送寄存器RGRi,0≤i≤7;

  • 将全部PEi的(RGRi)经过互连网络向右传送2k步距,0≤i≤7;


3043683

  • 令j=2k-1

  • 置PE0至PEj为不活跃状态;

  • 处于活跃状态的所有PEi执行(RGAi):=(RGAi)+(RGRi), j<i≤7;

  • k:=k+1;

  • 如k<3,则转回第四步,否则往下继续执行;

  • 置全部PEi为活跃状态, 0≤i≤7;

  • 将全部PEi的累加寄存器内容(RGAi)存入相应PEMi的α+1单元中, 0≤i≤7。


3043683

循环

K=1

K=2

K=0

PE0

A0

0

0

0

PE1

A1

0,1

0,1

0,1

0~2

0~2

PE2

A2

1,2

PE3

A3

2,3

0~3

0~3

PE4

A4

3,4

1~4

0~4

PE5

A5

4,5

2~5

0~5

PE6

A6

5,6

3~6

0~6

PE7

A7

6,7

4~7

0~7


3043683

阵列处理机的缺点

  • 许多问题不能很好地映射为严格的数据并行算法

  • 在某一时刻,阵列处理机只能执行一条指令,当程序进入条件执行并行代码时,效率会下降

  • 很大程度上是单用户系统,不容易处理多个用户要同时执行多个并行程序情况

  • 不适合于小规模的系统

  • 使用定制的VLSI,无法赶上通用CPU的性能和成本改进

  • 控制单元相对成本高的价格不再有效


  • Login