系统结构设计基础

Download Report

Transcript 系统结构设计基础

并行计算机体系结构
东南大学计算机学院 任国林
Email: [email protected]
[email protected]
1
一、课程目标
1.并行性理论的研究
并行计算机系统模型与体系结构;
并行程序设计模型与通信模型;
并行计算机性能评测方法;
可扩展性原理及实现方法。
2.并行技术和结构的研究
微处理器并行技术;
互连网络技术;
共享存储技术及体系结构;
分布存储技术与可扩展体系结构;
通信时延包容技术。
2
二、参考教材
1、并行计算机体系结构,陈国良等著,高等教育出版社,
ISBN 7-04—11558-1,2002.9
2、并行计算机体系结构,David E.Culler等著,李晓明等译,
机械工业出版社,ISBN 7-111-07888-8,2002.10
3、可扩展并行计算—技术、结构与编程,黄铠、徐志伟著,陆
鑫达等译,机械工业出版社,2000.5
4、计算机系统结构—一种定量的方法(第5版),John L.
Hennessy等著,郑纬民等译,清华大学出版社,2002.8
5、计算机系统结构(第二版),郑纬民、汤志忠著,清华大学
出版社,1998.9
3
第一章 系统结构设计基础
4
第一节
计算机系统结构概念
一、计算机系统结构概念
1、计算机系统层次结构
计算机语言实现技术
L6:应用语言级
虚
拟
机
器
L5:高级语言级
软件
翻译(编译程序)
L4:汇编语言级
L3:操作系统级
软硬件
交界面
实
际
机
器
翻译(应用程序包)
硬件
翻译(汇编程序)
部分解释
L2:机器语言级
解释
固件
L1:微程序机器级
硬件直接执行
L0:电子线路
5
回下页
2、计算机系统设计方法
(1)由上向下方法
从软件到硬件,适合专用机的设计
结果:形成软、硬脱节
(2)由下向上方法
从硬件到软件,适合通用机的设计
结果:形成软、硬脱节
(3)从中间开始方法
从软、硬件交界面开始设计
要求:不断进行交互、优化设计
→需要较好的评价工具和方法
6
转上页
3、系统结构定义
*基本定义:程序员所看到的计算机的属性
*精确定义:机器语言程序员、编译程序编写者所看到的计
算机的属性,即概念性结构和功能特性
概念性结构—系统的软、硬件功能界面;
功能特性—界面的功能分配,即界面的接口或组织
*研究内容:数据表示、寻址方式、指令系统,寄存器组织;
存储系统;
中断机构、I/O结构;
机器工作状态定义和切换、信息保护
*实质:研究软硬件之间的界面定义及其上下的功能分配
7
回下页
进程管理程序
操
机作
器系
统
级
作业管理程序
文件管理程序
设备管理程序
程
的序
属员
性看
到
机
机器
器语
言
级
存储管理程序
指令系统
I/O系统
存储系统
中断系统
CPU
键盘接口
键盘
显卡
显示器
…
…
MEM
磁盘接口
注:
作业管理
包含用户界
面功能
输
入
设
备
触
发
程
序
执
行
磁盘
计算机系统结构包含内容示意图
8
转上页
*计算机组成:
定义—计算机系统设计人员看到的基本属性
实质—是系统结构的逻辑实现
计算机组成包含内容—数据通路宽度、专用部件设计、
各种OS共享程度、功能部件并行度、控制机构组成方式、排队
与缓冲技术、预估与预判技术、可靠性技术等
*系统结构、计算机组成、物理实现三者关系:
1 : n
1 : m
系统结构 ─── 计算机组成 ─── 物理实现
9
4、计算机系统结构设计步骤
(1)需求分析
在应用环境、所用语言种类及特性、对OS的特殊要求、所
用外设特性、技术经济指标、市场分析等方面进行分析
(2)需求说明
形成设计准则、功能说明、器件性能说明等需求
(3)概念性设计
进行软、硬件功能分析,确定机器级界面
(4)具体设计
机器级界面各方面的确切定义,可考虑几种方案
(5)反复进行评价及优化设计
10
5、并行体系结构
*并行计算机:是一组相互通信、相互协作的处理单元,
用以快速求解大型问题
MB
MB
P/C
LM
···
NIC
P/C
SM
···
MB
P/C
P/C
LM
LM
LM
NIC
NIC
Bridge
总线或互连网络
SM
MB
IOB
SM
NIC
···
NIC
Bridge
IOB
NIC
互连网络
11
*并行体系结构:
由宏体系结构、微体系结构两部分组成
微体系结构—节点内部结构,主要为处理器及其壳的结构
宏体系结构—并行计算机的整体结构,包括节点间互连、
通信、存储器访问等方面
*并行体系结构研究内容:
互 连—结构模型、互连网络
存储器—访存模型、一致性模型(Cache/存储)
交 互—编程模型、通信机构、同步机构
12
二、计算机系统结构分类
1、Flynn分类法
*分类原理:按指令流和数据流的多倍性进行分类
*结构种类:SISD,SIMD,MISD,MIMD
PU1
PU
IS
DS
MM
PUn
CU1
DS
IS1
CU1
DS1
ISn
MISD
PU1
MM1
IS1
…
MMm
ISn
PU1
…
DS
CU1
IS1
…
PU1
MM1
…
ISn
MMm
SIMD
…
…
CU1
PU1
DSn
IS
SISD
IS1
MM1
…
IS
IS
…
CU
CU
DS1
DSn
MMm
ISn
MIMD
*缺点:对流水线处理机的分类不明确
13
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套数)
*特点:对并行及流水线的程度有清晰的描述
注:①流水属并行的一种类型,但有所不同;
②并行程度越好,性能越高
14
3、冯氏分类法
*分类原理:按照系统的最大并行程度进行分类
*最大并行度:单位时间内能处理的最大二进制位数
即 Pm=位片宽×字宽
位片宽
SISD
n
SIMD(MPP)
m
SIMD
MIMD
1
字宽
1
m’
n’
15
4、按控制方式分类
*分类原理:按程序执行的控制方式分类
*分类结果:共有4种
控制流方式—指令按逻辑顺序执行(如冯·诺依曼模型);
数据流方式—只要操作数到位,指令即可执行,
无序执行(↓,源→目的求解过程);
规约方式—当需要该指令结果时,该指令才会执行,
无序执行(↑,目的→源→目的求解过程);
匹配方式—由谓词模式匹配驱动指令的执行,
适合非数值型数据应用,常用于智能型计算机
*特点:除控制流方式外,其它的并行程度较好
16
第二节
系统设计的定量原理
一、大概率事件优先原则
*基本思想:对大概率事件赋予优先的处理权和资源使用权,
以获得全局的最优结果
※该原则是系统设计中最重要和最常用的原则
*应用举例:
指令系统—指令操作码采用霍夫曼编码;
溢出处理—优化不溢出情况的处理;
存储系统—层次结构使高频使用数据存取速度更快,
虚拟存储器的TLB用高速芯片组成
17
二、Amdahl定律
*基本思想:优化某部件所获得的系统性能的改善程度,取
决于该部件被使用的频率,或所占总执行时间的比例
S
p

T0
Te

1
(1  f e ) 
fe
re
*举例:某功能处理时间占系统时间的40%,将其处理速度加
快10倍后,整个系统性能提高多少?
解—已知fe=0.4,re=10,利
用Amdahl定律,则 Sp=1.56
re=10时Sp和fe的关系如右图:
Sp
10
5
1
0.0
0.5
fe
1.0
*应用:使用该定律可改善“系统瓶颈”性能
方法—若改善某部件性能后,系统性能急剧提高,
则该部件为“系统瓶颈”
18
三、程序访问的局部性原理
*基本思想:程序执行时,呈现出频繁重复使用那些“簇聚”
的数据和指令的规律,包含时间局部性和空间局部性
时间局部性-近期被访问的信息,可能马上被访问
空间局部性-与被访问地址相邻的信息可能会一起被访问
*应用:层次存储体系设计
19
四、软硬件取舍原则
1、现有软硬件条件下,所选方法应有助于提高系统的性能/价格
例:
研制费用 生产费用
产品费用
硬件方法
软件方法
Dh
C×Ds
Mh
R×Ms
Dh/V+Mh
C×Ds/V+R×Ms
说明:V—设备数量,C—重复设计次数,R—复制次数
2、所选方法应尽量不限制计算机组成和实现技术
例:数据表示设计不应限制数据宽度与之一一对应;
主存容量设计不应限制是否采用多体交叉存储器等
3、所选方法应能够对编译程序和操作系统的实现提供好的支持
例:指令系统中增加OS所需指令;
根据编译要求设置一定数量通用寄存器等
20
第三节
计算机系统性能评价
一、计算机系统性能
*计算机性能:正确性、可靠性和工作能力
·正确性:与数学计算结果比较,通常认为是正确的
·可靠性:用平均无故障时间表示,通常认为是可靠的
·工作能力:即系统的速度,通常用程序执行时间表示;
可分为峰值性能和持续性能
响应时间—指任务从输入到结果输出的所有时间,
反映CPU、I/O系统及OS等的总体性能;
吞吐率—指单位时间内能处理的作业或任务数量,
反映系统的多任务处理性能
21
1、响应时间
响应时间指一个任务从输入到输出的总时间
T响应=TCPU=T系统CPU+T用户CPU=IN×CPI×TC
CPI包含ALU、访问MEM及I/O的时间(含等待时间)
*特点:能够反映软硬件系统的总体性能,但不易测量
*影响TCPU的因素:
TCPU =IN×CPI×TC=IN×(p+m×k)×TC
其中 p—处理周期数/指令,m—访存次数/指令,k—访存时延
系统属性
性能因子
指令系统结构
编译技术
PE实现与控制技术
Cache和内存层次结构
IN
p
m
×
×
×
×
×
×
k
TC
×
×
×
22
2、吞吐率
*定义:指单位时间内能够处理作业(或任务)的数量
吞吐率 = n÷n个任务总时间
*常用标准:对作业(或任务)的定义无法统一
MIPS(每秒百万次指令)-MIPS

程序中指令条数
程序执行时间
10
6

1
CPI  T C 10
6

时钟频率
CPI 10
6
MIPS不能反映指令功能强弱,常用相对MIPS表示
MFLOPS(每秒百万次浮点运算)—
MFLOPS

程序中浮点操作次数
程序执行时间
10
6
不同操作通过正则化方法实现关联,
MFLOPS只能反映浮点操作能力
23
*特点:吞吐率与I/O软硬件组织方式及OS有很大关系;
能够反映软硬件系统对多任务的响应能力
*提高吞吐率方法:
流水化--使多个作业流水处理;
并行处理--给每个PE分配多个作业,各PE相互协调
3、利用率
*定义:利用率=持续性能÷峰值性能
*特点:不直接表示系统性能,与前两种指标有密切关系;
对系统性能优化及结构改进起着至关重要的作用!
24
4、系统可扩放性
常用于评价多机系统的并行处理能力
*性能加速比:多机系统相对于单机系统性能提高的比例
S ( p, n) 
T ( p ,1 )
T ( p ,n ) h ( p ,n )
其中 p--问题规模,n--处理器数量,h--通信时间
*系统可扩放性:系统性能随处理机数n增加而增长的比例
Ψ=fS(n)
衡量方法--测量不同n时的加速比,
得到性能可扩放性曲线
S
A系统
B系统
1
n
影响因素—结构、处理器数、问题规模、存储系统等
25
二、性能评价与比较
1、评价技术
(1)分析技术
*思路:在一定假设条件下,计算机系统参数与性能指标间
存在着某种函数关系,按其工作负载的驱动条件列出方程,用
数学方法求解后评价
*发展:从脱离实际的假设发展到近似求解
近似求解算法—聚合法、均值分析法、扩散法等
*应用:可应用于设计中系统的分析与评价
例—A机执行的程序中有20%转移指令(需2TC),转移指令都需
要一条比较指令(需1TC)配合,其他指令均为1TC。B机中转移指
令包含比较指令功能,但TC比A机慢15%。执行该程序时,A机、B
机哪个工作速度快?
26
回下页
(2)模拟技术
*思路:建立模拟器,模拟系统性能模型和工作负载模型,
对运行后的数据进行统计、分析和评价
*方法:
按被评价系统的运行特性建立系统模型;
按系统可能有的工作负载特性建立工作负载模型;
用语言编写模拟程序,模仿被评价系统的运行;
设计模拟实验,依照评价目标,选择与目标有关因素,
得出实验值,再进行统计、分析
*应用:可应用于设计中或实际应用中系统的分析与评价;
可与分析技术相结合,构成一个混合系统
27
转上页
(3)测量技术
*思路:通常采用基准测试程序对系统进行实际性能评价
*基准测试程序:
有实际应用程序、核心程序、合成测试程序三个层次
第一个层次—用于测试系统总体性能;
后两个层次--用于测试部件(如CPU、I/O系统等)性能
基准测试程序—具有三个层次的测试程序组,典型的有
SPEC程序组,包含测试多个领域、三个层次的测试程序
*应用:只能应用于实际使用中系统的分析与评价;
通常根据系统的设计需求(应用领域)选择基准测试
程序组中的部分测试程序进行测量
28
2、比较技术
*目的:根据多种测试结果,比较不同系统的优劣
*方法:算术平均、几何平均、调和平均方法
(1)算术平均方法
n
Am 
1
n

i 1
n
Ri 
1
n

i 1
1
Ti
处理机
基准测
试程序
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结论不同
29
回下页
(2)几何平均方法
n
Gm 
n
( Ri ) 
i 1
n
n
(
i 1
1
Ti
)
处理机
基准测
试程序
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)
处理机
基准测
试程序
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)
特性:Gm性能与参考计算机性能无关
依据—Gm(Xi)/Gm(Yi)=Gm(Xi/Yi)
(3)调和平均方法
H
m


n
n

i 1
1
Ri
n
n
 Ti

n
T1  ...  T n
i 1
特性:Hm最接近CPU的实际性能
依据—Hm与所有测试程序时间总和成反比关系
转上页
30
第四节
系统结构的发展
一、影响计算机系统结构发展因素
1、软件对系统结构发展的影响
*影响因素:软件可移植性
(1)系列机
*思想:具有相同系统结构或扩充原系统结构,组成或实现
技术不同,来实现软件可移植性
*影响一:新的组成与实现技术很快得到应用,大量兼容产
机器档次
品的出现,推动了系统结构的发展
系列机要求—保证向后兼容,
力争向上兼容
*影响二:要求系统结构基本不
变,限制了系统结构的发展
回下页
高
低
向上兼容
当前机器
向下兼容
向前兼容 向后兼容
时间
31
(2)模拟与仿真
*模拟:用机器语言解释来实现软件移植
需模拟目标机指令系统、存储系统、I/O系统、OS等的操作
*仿真:用微程序直接解释另一种指令系统
需解释目标机I/O系统、OS等的操作
*比较:解释程序存放位置、是否有硬件参与方面不同;
在解释指令系统、存储系统、I/O系统、OS方面相同
(3)统一高级语言方法
存在一定的困难,可争取汇编语言或接口/技术的统一
*方案1:采用统一的中间语言(如Java),通过解释执行以适
应不同的系统结构
*方案2:采用标准的开放系统(具有可移植性、交互操作性),
用硬件抽象层技术适应不同的系统结构
32
转上页
2、应用对系统结构发展的影响
*应用背景:应用领域、功能及性能要求有所不同
*应用需求:高速度、大容量、大吞吐率
*系统结构设计思路:
分成不同级别的系统,以提高性能/价格
巨、大型机—研究专用系统结构、组成技术
其它型机—研究通用系统结构(吸纳先进结构与技术)
*系统结构发展趋势:
·保持价格基本不变,提高性能
·保持性能基本不变,降低价格
价格
*对系统结构影响:
巨型机
大型机
中、小型机
微型机
时间
专用系统结构—无限制(应用是原动力)
通用系统结构—如何有效实现专用结构→通用结构
33
3、器件对系统结构发展的影响
*器件使用方法:
通用片→现场片→半用户片→用户片
*对系统结构影响:
·器件的发展推动了系统结构与组成技术的发展
如—器件性能、使用方法影响系统结构及组成方法,
器件性/价提高,使结构、组成下移速度更快,
器件的发展,推动算法、语言的发展
·系统结构的发展要求器件不断发展
如—新结构的使用,取决于器件发展能否提供可能
提高器件性能/价格,要求改变器件逻辑设计方法
34
二、并行性的发展
并行性—包括同时性(时刻)、并发性(时段)
1、并行性开发
*并行性等级划分:
执行程序角度
处理数据角度
操作级
指令级
任务或过程级
作业或程序级
位串字串
位并字串
位串字并
全并行
信息加工步骤
存储器操作并行
处理器操作步骤并行
处理器操作并行
任务或作业并行
*开发方法:
时间重叠、资源重复、资源共享
35
2、并行性发展
用三种并行性实现方法进行开发,得到如下系统结构树:
标量
顺序的
先行控制
I/E重叠
时
间
并
行
功能并行
多个功能部件
流水线
隐式向量
显式向量
存储器-存储器
寄存器-寄存器
SIMD
联想处理机
处理机阵列
MIMD
多计算机
多处理机
空
间
并
行
计算机系统结构树
36
本章思考
1、系统结构精确定义、包含内容是什么?
与计算机组成和实现的关系是什么?
进行系统结构设计的方法和步骤是什么?
2、系统结构的分类方法有哪些?
影响系统结构发展的因素又哪些?如何影响的?
3、系统结构设计的定量原理有哪些?举例说明其应用。
4、计算机系统的性能指标有哪些?其特点和影响因素是什么?
5、评价系统性能的方法有哪些?如何比较测量的结果?
6、并行计算机与单处理器计算机在系统结构上有哪些区别?
影响其性能的因素有哪些?如何评价?
7、并行性包含的内容是什么?开发并行性的方法有哪些?
系统结构树中结点采用哪些技术可实现变迁?
37