并行计算机体系结构 东南大学计算机学院 任国林 email: [email protected]

37
1 并并并并并 并并并 并并并并并并并并并 并并并 Email: [email protected] [email protected]

Upload: istas

Post on 23-Feb-2016

316 views

Category:

Documents


0 download

DESCRIPTION

并行计算机体系结构 东南大学计算机学院 任国林 Email: [email protected]. 一、课程目标 1. 并行性理论的研究 并行计算机系统模型与体系结构; 并行程序设计模型与通信模型; 并行计算机性能评测方法; 可扩展性原理及实现方法。. 2. 并行技术和结构的研究 微处理器并行技术; 互连网络技术; 共享存储技术及体系结构; 分布存储技术与可扩展体系结构; 通信时延包容技术。. 二、参考教材 1 、并行计算机体系结构,陈国良等著,高等教育出版社, - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

1

并行计算机体系结构东南大学计算机学院 任国林

Email: [email protected]

[email protected]

Page 2: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

2

一、课程目标1. 并行性理论的研究 并行计算机系统模型与体系结构; 并行程序设计模型与通信模型; 并行计算机性能评测方法; 可扩展性原理及实现方法。2. 并行技术和结构的研究 微处理器并行技术; 互连网络技术; 共享存储技术及体系结构; 分布存储技术与可扩展体系结构; 通信时延包容技术。

Page 3: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

3

二、参考教材1 、并行计算机体系结构,陈国良等著,高等教育出版社, ISBN 7-04—11558-1 , 2002.92 、并行计算机体系结构, David E.Culler 等著,李晓明等

译,机械工业出版社, ISBN 7-111-07888-8 , 2002.10

3 、可扩展并行计算—技术、结构与编程,黄铠、徐志伟著,陆鑫达等译,机械工业出版社, 2000.5

4 、计算机系统结构—一种定量的方法 ( 第 5 版 ) , John L. Hennessy 等著,郑纬民等译,清华大学出版社, 2002.8

5 、计算机系统结构 ( 第二版 ) ,郑纬民、汤志忠著,清华大学出版社, 1998.9

Page 4: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

4

第一章 系统结构设计基础

Page 5: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

5

第一节 计算机系统结构概念 一、计算机系统结构概念 1 、计算机系统层次结构

软硬件交界面

L6 :应用语言级L5 :高级语言级L4 :汇编语言级L3 :操作系统级L2 :机器语言级

L1 :微程序机器级L0 :电子线路

硬件固件

软件

虚拟机器实际机器

翻译(应用程序包)翻译(编译程序)翻译(汇编程序)

解释硬件直接执行

部分解释

计算机语言实现技术

回下页

Page 6: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

6

2 、计算机系统设计方法(1) 由上向下方法 从软件到硬件,适合专用机的设计 结果:形成软、硬脱节(2) 由下向上方法 从硬件到软件,适合通用机的设计 结果:形成软、硬脱节(3) 从中间开始方法 从软、硬件交界面开始设计 要求:不断进行交互、优化设计 → 需要较好的评价工具和方法

转上页

Page 7: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

7

3 、系统结构定义 * 精确定义:机器语言程序员、编译程序编写者所看到的计算

机的属性,即概念性结构和功能特性 概念性结构—系统的软、硬件功能界面; 功能特性—界面的功能分配,即界面的接口或组织

* 实质:研究软硬件之间的界面定义及其上下的功能分配

* 基本定义:程序员所看到的计算机的属性

* 研究内容:数据表示、寻址方式、指令系统,寄存器组织 ; 存储系统; 中断机构、 I/O 结构; 机器工作状态定义和切换、信息保护

回下页

Page 8: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

8

CPU

……

键盘接口键盘

显卡显示器

MEM

磁盘接口磁盘

机器语言级机器

输入设备触发程序执行

指令系统

程序员看到的属性

信息保护机器状态 存储系统I/O 系统 中断系统

计算机系统结构包含内容示意图

进程管理程序作业管理程序 文件管理程序

存储管理程序

设备管理程序信息保护操作系统级

机器

注: 作业管理包含用户界面功能

转上页

Page 9: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

9

计算机组成包含内容—数据通路宽度、专用部件设计、各种OS 共享程度、功能部件并行度、控制机构组成方式、排队与缓冲技术、预估与预判技术、可靠性技术等 * 系统结构、计算机组成、物理实现三者关系: 1 : n 1 : m 系统结构 ─── 计算机组成 ─── 物理实现

* 计算机组成: 定义—计算机系统设计人员看到的基本属性 实质—是系统结构的逻辑实现

Page 10: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

10

4 、计算机系统结构设计步骤(1) 需求分析 在应用环境、所用语言种类及特性、对OS 的特殊要求、所用外设特性、技术经济指标、市场分析等方面进行分析(2) 需求说明 形成设计准则、功能说明、器件性能说明等需求(3) 概念性设计 进行软、硬件功能分析,确定机器级界面(4) 具体设计 机器级界面各方面的确切定义,可考虑几种方案(5)反复进行评价及优化设计

Page 11: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

11

5 、并行体系结构 * 并行计算机:是一组相互通信、相互协作的处理单元, 用以快速求解大型问题

总线或互连网络···

···SM SM SM

LM

MB

NIC

P/C

LM

MB

NIC

P/C

互连网络

···LM

MB

NICBridge

P/C

IOB

NIC

LM

MB

NICBridge

P/C

IOB

NIC

Page 12: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

12

* 并行体系结构: 由宏体系结构、微体系结构两部分组成 微体系结构—节点内部结构 ,主要为处理器及其壳的结构 宏体系结构—并行计算机的整体结构,包括节点间互连、通

信、存储器访问等方面 * 并行体系结构研究内容: 互 连—结构模型、互连网络 存储器—访存模型、一致性模型 (Cache/ 存储 ) 交 互—编程模型、通信机构、同步机构

Page 13: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

13

二、计算机系统结构分类1 、 Flynn 分类法 * 分类原理:按指令流和数据流的多倍性进行分类 * 结构种类: SISD , SIMD , MISD , MIMD

SISD

CU MMIS

ISPU DS

SIMD

CU…

MMm

DS1

IS

IS

MM1

PUn DSn

PU1

MISD

DSIS1 IS1

ISn

DSISn MMm

MM1PU1

PU1

CU1

CU1

MIMD

DS1IS1 IS1

ISn

DSnISn MMm

MM1PU1

PU1

CU1

CU1

*缺点:对流水线处理机的分类不明确

Page 14: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

14

2 、 Handler 分类法 * 分类原理:在三个层次,按并行程度及流水处理程度分类 层次— PCU (程序控制部件或宏流水) K 级 ALU (算术逻辑部件或指令流水) D 级 ELC (基本逻辑线路或操作流水) W 级 描述— T(C)=<K×K’ , D×D’ , W×W’> 其中: K为 PCU 数、 K’为宏流水级数 (PCU 数 ) , D为每个 PCU 中 ALU 数、 D’为指令流水级数 (ALU数 ) , W为 ALU 或 PE字长, W’为操作流水线级数 (ELC套数 ) * 特点:对并行及流水线的程度有清晰的描述 注:①流水属并行的一种类型,但有所不同; ②并行程度越好,性能越高

Page 15: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

15

3 、冯氏分类法 * 分类原理:按照系统的最大并行程度进行分类 *最大并行度:单位时间内能处理的最大二进制位数 即 Pm=位片宽 ×字宽

位片宽

字宽

SISD

SIMD ( MPP)SIMDMIMD

1

m

n

1 m’ n’

Page 16: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

16

4 、按控制方式分类 * 分类原理:按程序执行的控制方式分类 * 分类结果:共有 4 种 控制流方式—指令按逻辑顺序执行 (如冯 ·诺依曼模型 ) ; 数据流方式—只要操作数到位,指令即可执行, 无序执行 (↓ ,源→目的求解过程 ) ; 规约方式—当需要该指令结果时,该指令才会执行, 无序执行 (↑ ,目的→源→目的求解过程 ) ; 匹配方式—由谓词模式匹配驱动指令的执行, 适合非数值型数据应用,常用于智能型计算机 * 特点:除控制流方式外,其它的并行程度较好

Page 17: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

17

第二节 系统设计的定量原理 一、大概率事件优先原则 * 基本思想:对大概率事件赋予优先的处理权和资源使用权 ,以获得全局的最优结果 ※该原则是系统设计中最重要和最常用的原则 * 应用举例: 指令系统—指令操作码采用霍夫曼编码; 溢出处理—优化不溢出情况的处理; 存储系统—层次结构使高频使用数据存取速度更快, 虚拟存储器的 TLB 用高速芯片组成

Page 18: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

18

二、 Amdahl 定律 * 基本思想:优化某部件所获得的系统性能的改善程度,取决于该部件被使用的频率,或所占总执行时间的比例

eref

ee fTT

pS

)1(10

* 应用:使用该定律可改善“系统瓶颈”性能

*举例:某功能处理时间占系统时间的 40% ,将其处理速度加快 10倍后,整个系统性能提高多少? 解—已知 fe=0.4 , re=10 ,利用 Amdahl 定律,则 Sp=1.56

0.0 0.5 1.0 fe

Sp

10

1

5

re=10 时 Sp 和 fe 的关系如右图: 方法—若改善某部件性能后,系统性能急剧提高, 则该部件为“系统瓶颈”

Page 19: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

19

三、程序访问的局部性原理 * 基本思想:程序执行时,呈现出频繁重复使用那些“簇聚”的数据和指令的规律,包含时间局部性和空间局部性 时间局部性 -- 近期被访问的信息,可能马上被访问 空间局部性 -- 与被访问地址相邻的信息可能会一起被访问 * 应用:层次存储体系设计

Page 20: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

20

四、软硬件取舍原则1 、现有软硬件条件下,所选方法应有助于提高系统的性能 / 价格 例:

2 、所选方法应尽量不限制计算机组成和实现技术 例:数据表示设计不应限制数据宽度与之一一对应; 主存容量设计不应限制是否采用多体交叉存储器等3 、所选方法应能够对编译程序和操作系统的实现提供好的支持

例:指令系统中增加OS 所需指令; 根据编译要求设置一定数量通用寄存器等

研制费用 生产费用 产品费用硬件方法 Dh Mh Dh/V+Mh

软件方法 C×Ds R×Ms C×Ds/V+R×Ms

说明: V— 设备数量, C—重复设计次数, R—复制次数

Page 21: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

21

第三节 计算机系统性能评价 一、计算机系统性能 * 计算机性能:正确性、可靠性和工作能力

响应时间—指任务从输入到结果输出的所有时间, 反映 CPU 、 I/O 系统及 OS 等的总体性能;

·正确性:与数学计算结果比较,通常认为是正确的 · 可靠性:用平均无故障时间表示,通常认为是可靠的 · 工作能力:即系统的速度,通常用程序执行时间表示; 可分为峰值性能和持续性能

吞吐率—指单位时间内能处理的作业或任务数量, 反映系统的多任务处理性能

Page 22: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

22

1 、响应时间 响应时间指一个任务从输入到输出的总时间 T 响应= TCPU= T 系统 CPU+ T 用户 CPU= IN×CPI×TC CPI 包含 ALU 、访问MEM 及 I/O 的时间 ( 含等待时间 )

性能因子系统属性 IN p m k TC

指令系统结构 × ×编译技术 × × ×PE 实现与控制技术 × ×Cache 和内存层次结构

× ×

* 特点:能够反映软硬件系统的总体性能,但不易测量 *影响 TCPU 的因素: TCPU = IN×CPI×TC= IN×(p+m×k)×TC

其中 p— 处理周期数 / 指令, m—访存次数 / 指令, k—访存时延

Page 23: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

23

2 、吞吐率 * 定义:指单位时间内能够处理作业 ( 或任务 ) 的数量 吞吐率 = n÷n个任务总时间 *常用标准:对作业 ( 或任务 ) 的定义无法统一 MIPS(每秒百万次指令 )--

66C

6 10CPI10TCPI1

10MIPS

时钟频率

程序执行时间程序中指令条数

MIPS 不能反映指令功能强弱,常用相对MIPS 表示 MFLOPS(每秒百万次浮点运算 )—

610MFLOPS

程序执行时间程序中浮点操作次数

不同操作通过正则化方法实现关联, MFLOPS只能反映浮点操作能力

Page 24: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

24

3 、利用率 * 定义:利用率=持续性能 ÷峰值性能 * 特点:不直接表示系统性能,与前两种指标有密切关系; 对系统性能优化及结构改进起着至关重要的作用!

*提高吞吐率方法: 流水化 --使多个作业流水处理; 并行处理 --给每个 PE 分配多个作业,各 PE相互协调

* 特点:吞吐率与 I/O 软硬件组织方式及 OS有很大关系; 能够反映软硬件系统对多任务的响应能力

Page 25: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

25

4 、系统可扩放性 常用于评价多机系统的并行处理能力

),(),()1,(

),( nphnpTpT

npS

其中 p--问题规模, n-- 处理器数量, h-- 通信时间

衡量方法 -- 测量不同 n时的加速比, 得到性能可扩放性曲线

* 性能加速比:多机系统相对于单机系统性能提高的比例

* 系统可扩放性:系统性能随处理机数 n增加而增长的比例 Ψ=fS(n)

影响因素—结构、处理器数、问题规模、存储系统等

S

n1B 系统A 系统

Page 26: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

26

二、性能评价与比较1 、评价技术(1) 分析技术 *思路:在一定假设条件下,计算机系统参数与性能指标间存在着某种函数关系,按其工作负载的驱动条件列出方程,用数学方法求解后评价 * 发展:从脱离实际的假设发展到近似求解 近似求解算法—聚合法、均值分析法、扩散法等 * 应用:可应用于设计中系统的分析与评价

回下页

例— A 机执行的程序中有 20%转移指令 ( 需 2TC) ,转移指令都需要一条比较指令 ( 需 1TC) 配合,其他指令均为 1TC 。 B机中转移指令包含比较指令功能,但 TC比 A 机慢 15% 。执行该程序时, A 机、 B 机哪个工作速度快?

Page 27: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

27

(2) 模拟技术 *思路:建立模拟器,模拟系统性能模型和工作负载模型,对运行后的数据进行统计、分析和评价 * 方法: 按被评价系统的运行特性建立系统模型; 按系统可能有的工作负载特性建立工作负载模型; 用语言编写模拟程序,模仿被评价系统的运行; 设计模拟实验,依照评价目标,选择与目标有关因素,得出实验值,再进行统计、分析 * 应用:可应用于设计中或实际应用中系统的分析与评价; 可与分析技术相结合,构成一个混合系统

转上页

Page 28: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

28

(3) 测量技术 *思路:通常采用基准测试程序对系统进行实际性能评价 * 基准测试程序: 有实际应用程序、核心程序、合成测试程序三个层次 第一个层次—用于测试系统总体性能; 后两个层次 -- 用于测试部件 (如 CPU 、 I/O 系统等 ) 性能 基准测试程序—具有三个层次的测试程序组,典型的有SPEC 程序组,包含测试多个领域、三个层次的测试程序 * 应用:只能应用于实际使用中系统的分析与评价; 通常根据系统的设计需求 ( 应用领域 )选择基准测试程序组中的部分测试程序进行测量

Page 29: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

29

2 、比较技术 * 目的:根据多种测试结果,比较不同系统的优劣 * 方法:算术平均、几何平均、调和平均方法(1) 算术平均方法

n

iTn

n

iinm iRA

1

11

1

1

基准测试程序

处理机X Y Z

B1 20(1.00) 10(0.50) 40(2.00)B2 40(1.00) 80(2.00) 20(0.50)

Am (1.00) (1.25) (1.25)

基准测试程序

处理机X Y Z

B1 20(2.00) 10(1.00) 40(4.00)B2 40(0.50) 80(1.00) 20(0.25)

Am (1.25) (1.00) (2.13) * 特性:选择不同的参考机, Am 结论不同

回下页

Page 30: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

30

(2)几何平均方法n

n

iT

nn

iim iRG )()(

1

1

1

基准测试程序

处理机X Y Z

B1 20(1.00) 10(0.50) 40(2.00)B2 40(1.00) 80(2.00) 20(0.50)

Gm (1.00) (1.00) (1.00) 特性: Gm 性能与参考计算机性能无关 依据— Gm(Xi)/Gm(Yi)=Gm(Xi/Yi)

基准测试程序

处理机X Y Z

B1 20(2.00) 10(1.00) 40(4.00)B2 40(0.50) 80(1.00) 20(0.25)

Gm (1.00) (1.00) (1.00)

(3)调和平均方法n

n

ii

n

iiR

TTn

T

nnmH

...1

11

1

特性: Hm最接近 CPU 的实际性能 依据— Hm 与所有测试程序时间总和成反比关系转上页

Page 31: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

31

一、影响计算机系统结构发展因素1 、软件对系统结构发展的影响 *影响因素:软件可移植性(1) 系列机 *思想:具有相同系统结构或扩充原系统结构,组成或实现技术不同,来实现软件可移植性 *影响一:新的组成与实现技术很快得到应用,大量兼容产品的出现,推动了系统结构的发展 系列机要求—保证向后兼容, 力争向上兼容

时间

机器档次当前机器向上兼容

向下兼容高

低 向后兼容向前兼容 *影响二:要求系统结构基本不变,限制了系统结构的发展

回下页

第四节 系统结构的发展

Page 32: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

32

(2) 模拟与仿真 * 模拟:用机器语言解释来实现软件移植 需模拟目标机指令系统、存储系统、 I/O 系统、 OS 等的操作 *仿真:用微程序直接解释另一种指令系统 需解释目标机 I/O 系统、 OS 等的操作 *比较:解释程序存放位置、是否有硬件参与方面不同; 在解释指令系统、存储系统、 I/O 系统、 OS 方面相同(3) 统一高级语言方法 存在一定的困难,可争取汇编语言或接口 / 技术的统一 * 方案 1 :采用统一的中间语言 (如 Java) ,通过解释执行以适应不同的系统结构 * 方案 2 :采用标准的开放系统 ( 具有可移植性、交互操作性 ), 用硬件抽象层技术适应不同的系统结构

转上页

Page 33: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

33

2 、应用对系统结构发展的影响 * 应用背景:应用领域、功能及性能要求有所不同 * 应用需求:高速度、大容量、大吞吐率 * 系统结构设计思路: 分成不同级别的系统,以提高性能 / 价格 巨、大型机—研究专用系统结构、组成技术 其它型机—研究通用系统结构 (吸纳先进结构与技术 ) * 系统结构发展趋势: · 保持价格基本不变,提高性能 · 保持性能基本不变,降低价格

价格

时间等性能线

巨型机大型机中、小型机微型机 *对系统结构影响: 专用系统结构—无限制 ( 应用是原动力 ) 通用系统结构—如何有效实现专用结构→通用结构

Page 34: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

34

3 、器件对系统结构发展的影响 * 器件使用方法: 通用片→现场片→半用户片→用户片 *对系统结构影响: · 器件的发展推动了系统结构与组成技术的发展 如—器件性能、使用方法影响系统结构及组成方法, 器件性 / 价提高,使结构、组成下移速度更快, 器件的发展,推动算法、语言的发展 · 系统结构的发展要求器件不断发展 如—新结构的使用,取决于器件发展能否提供可能 提高器件性能 / 价格,要求改变器件逻辑设计方法

Page 35: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

35

二、并行性的发展 并行性—包括同时性 ( 时刻 ) 、并发性 ( 时段 )

* 开发方法: 时间重叠、资源重复、资源共享

* 并行性等级划分: 执行程序角度 处理数据角度 信息加工步骤 操作级 位串字串 存储器操作并行 指令级 位并字串 处理器操作步骤并行 任务或过程级 位串字并 处理器操作并行 作业或程序级 全并行 任务或作业并行

1 、并行性开发

Page 36: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

36

2 、并行性发展 用三种并行性实现方法进行开发,得到如下系统结构树:

标量顺序的 先行控制

I/E重叠 功能并行多个功能部件 流水线

隐式向量 显式向量存储器 - 存储器 寄存器 - 寄存器

SIMD MIMD

联想处理机 处理机阵列 多计算机 多处理机计算机系统结构树

空间并行时间并行

Page 37: 并行计算机体系结构 东南大学计算机学院   任国林 Email: renguolin@seu.edu.cn

37

本章思考1 、系统结构精确定义、包含内容是什么? 与计算机组成和实现的关系是什么? 进行系统结构设计的方法和步骤是什么?2 、系统结构的分类方法有哪些? 影响系统结构发展的因素又哪些?如何影响的?3 、系统结构设计的定量原理有哪些?举例说明其应用。4 、计算机系统的性能指标有哪些?其特点和影响因素是什么?5 、评价系统性能的方法有哪些?如何比较测量的结果?6 、并行计算机与单处理器计算机在系统结构上有哪些区别? 影响其性能的因素有哪些?如何评价?7 、并行性包含的内容是什么?开发并行性的方法有哪些? 系统结构树中结点采用哪些技术可实现变迁?