Transcript 2009

§4 评估和理解性能
2009
华东师范大学计算机科学技术系
1
§4 评估和理解性能
4.1
4.2
4.3
4.4
概述
CPU的性能和影响因素
性能评估
实例:两个SPEC基准测试以及
新型Intel处理器的性能评价
4.5 计算机系统的可靠性
2009
华东师范大学计算机科学技术系
2
§4 评估和理解性能
4.1 概述
2009
华东师范大学计算机科学技术系
3
4.1 概述
计算机设计目标: 高速
主要讨论
影响因素:硬件、指令系统、编译器、软件
系统复杂 → 评价难度高
如何评价?
应用不同,立足点不同
台式机、服务器、嵌入式系统所采用的性能评
价机制和基准测试程序各不相同
2009
华东师范大学计算机科学技术系
4
 程序执行时间:计算机完成一个任务的总时间
用户程序和OS共享处理器
(响应时间)
t5—t0
 CPU时间:计算机完成一个任务,CPU所耗用的时间
程序及OS程序的执行时间
打印机
磁 盘
OS 程序
程 序
t0
t1 t2
t3
t4
t5
4.1 概述
一、性能定义
性能X= 1 / 执行时间X
性能越高越好
性能比:
n=性能X/性能Y
=执行时间Y/执行时间X
相对性能:评价一台计算机的性能通常参照
另一台计算机的性能,可用性能
比来表示
强实时系统和弱实时系统
2009
华东师范大学计算机科学技术系
6
4.1 概述
二、性能测量
CPU时间:计算机完成一个任务,CPU所耗用的
时间
· 用户CPU时间:运行用户程序代码所花的时间
· 系统CPU时间:运行操作系统代码所花的时间
后者在多用户下很难区分
系统性能:系统在没有其他负载情况下的响应
时间
CPU性能:用户CPU时间
华东师范大学计算机科学技术系
2009
7
§4 评估和理解性能
4.1 概述
4.2 CPU的性能和影响因素
2009
华东师范大学计算机科学技术系
8
4.2 CPU的性能和影响因素
一、CPU时钟:
时钟定义了规则的时间间隔
CPU执行程序时将所做的工作分解为一系列基本
步骤,每个步骤均在一个时钟周期内完成。
CPU频率(R):衡量CPU性能的重要参数
时钟周期
的倒数
例)500MHz
2.8GHz
3.0GHz
2009
华东师范大学计算机科学技术系
9
4.2 CPU的性能和影响因素
二、提高性能:
衡量公式:
Tcpu=(NCPI)/R
执行一个程序所
需的时钟周期数
Tcpu:CPU时间;
N:
编译后目标程序的总指令数;
CPI:执行每条指令所需的平均时钟周
期数;
R:
时钟频率
高性能  减少T  N、CPI、R
计算机性能的三个要素密切相关
编译优化,
简化指令执
减少目标指 图4-2
基本要素及其含义:P164
行步骤、并
2009
华东师范大学计算机科学技术系
令数
行执行指令
提高CPU
时钟频率
10
二、提高性能
 减少CPI值
流水线操作:
增加部件,使连续指令叠加执行
超标量操作
两条以上的指令流水线,达到更高度的并发性
存储器结构:减少延迟等待时间
指令集:
RISC: CPI ,但 N 
CISC: N ,但 CPI 
这点上两者无明显优越
但简单指令集更易实现高效流水线
2009
华东师范大学计算机科学技术系
11
二、提高性能
 减少N值
编译器
优化编译,一个高质量的编译器一定与处理器体
系结构紧密相关,通过设计的相互协调,达到最
佳效果。
 提高R值
提高时钟频率
 改进IC技术,提高逻辑电路速度;
 减少时钟周期内处理的工作量 t   R ,
但CPI可能增加
12
2009
华东师范大学计算机科学技术系
指令执行步骤的划分相当重要
二、提高性能
CPI与许多设计细节密切相关,测量比较困难
可采用以下方法得到:
· 通过仿真实验测试
· 通过硬件计数器测定
· 通过公式估算
n
CPU时钟周期数 = ∑(CPIi×Ci)
i=1
C i:
程序执行中第i类指令的条数
CPIi: 该类指令执行时所需的平均时钟周期数
n:
2009
指令类别的数目
华东师范大学计算机科学技术系
13
二、提高性能
例1)代码优化
两段代码执行参数:
A类指令 B类指令 C类指令
CPI
1
2
3
A类
B类
C类
1#指令数
2
1
2
2#指令数
4
1
1
比较两段代码
解)①指令条数:1#序列
2#序列
② 执行速度:
2+1+2=5
4+1+1=6
指令条数少
1#序列时钟周期数=(1×2)+(2×1)+(3×2)=10
2#序列时钟周期数=(1×4)+(2×1)+(3×1)=9 时钟数少
执行速度快
③ 1#序列CPI=时钟周期数/指令条数 = 10/5 = 2
14
2009
2#序列CPI = 9/6华东师范大学计算机科学技术系
= 1.5
4.2 CPU的性能和影响因素
三、吞吐率
MIPS:
每秒百万条指令数
计算机每秒可执行的指令数
MIPS=执行的指令数 /(执行时间×106)
MFLOPS:每秒百万次浮点运算数
计算机每秒可执行的浮点运算次数
注意:
· MIPS仅反映了执行指令的速率,但未考虑指令功能
· 在同台机器上,不同程序的MIPS是不同的
华东师范大学计算机科学技术系
·2009MIPS有可能和机器的性能成反比
15
结论:MIPS未完整考虑N、CPI、R三个因素,有可能
三、吞吐率
产生错误的结论
例2)两个不同的编译器对同一段程序进行编译
参数:
指令数(10亿)
A类
B类
C类
A类指令 B类指令 C类指令
CPI
1
2
3
1#编译器
5
1
1
2#编译器
10
1
1
n
解)① CPU时间= ∑(CPIi×Ci)/R
i=1
1#CPU时间=(1×5)+(2×1)+(3×1) ×109/4G=2.5秒
2#CPU时间=(1×10)+(2×1)+(3×1) ×109/4G=3.75秒
程序经1#编译器编译后产生的代码执行时间比2#的快
② MIPS1=指令数/(程序执行时间×106)
=((5+1+1)×109) / 2.5×106 = 2800
#快
2
9
6
16
2009
华东师范大学计算机科学技术系
MIPS2=((10+1+1)×10 ) / 2.5×10 = 3200
4.2 CPU的性能和影响因素
四、性能平衡
当代处理器所采用的若干技术
 转移预测(Branch Prediction)
可提前预测多条执行分支,使处理器能正确地预
取指令,以减少处理器的等待时间
 数据流分析(Data Flow Analysis)
处理器分析指令所依赖的数据,数据准备好,可
不按原程序的顺序执行,优化指令调度
 推测执行(Speculative Execution)
使用转移预测和数据流分析,使程序在实际执行
之前即已“推测执行”,并暂存结果,使处理器的
17
2009
华东师范大学计算机科学技术系
执行机制尽可能保持繁忙
四、性能平衡
处理器性能发展迅速
其他部件性能发展跟不上需要
性能平衡
 性能平衡
调整组织和结构,以补偿各部件之间的能
力不匹配
2009
华东师范大学计算机科学技术系
18
四、性能平衡
CPU与存储器
· 增加总线的数据宽度,以增加每次访问的位数
· 在DRAM芯片中加入高速缓存,提高芯片性能
· 在CPU与主存间加入高速缓存,提高CPU访存速度
· 通过高速总线和分层总线来缓冲和结构化数据流
等等
经验定律
Amdahl/Case 定律:要使计算机系统较为平衡 ,每
MIPS的CPU性能需要对应1MB的主存容量和1Mb/s的
I/O带宽
2009
华东师范大学计算机科学技术系
19
四、性能平衡
CPU与I/O设备
· 新的I/O设备的不断推出,以适应系统性能的
要求
· 缓存和暂存机制,以及高速互连总线结构
· 接口技术
等等
性价比
· 高性能设计——超级计算机、高端服务器
· 高性价比设计——台式机、嵌入式系统
2009
华东师范大学计算机科学技术系
20
§4 评估和理解性能
4.1 概述
4.2 CPU的性能和影响因素
4.3 性能评估
2009
华东师范大学计算机科学技术系
21
4.3 性能评估
性能评价是计算机系统设计、选择和使用时考
虑的主要依据
评价手段:(1)分析
采用数学模型———精度低
(2)模拟
用软件建立系统模型进行研究
———建模时间长
(3)测试
用测试程序(工作负载)实际
一系列运行在计算
机上的程序
运行———制造完成后进行 22
2009
华东师范大学计算机科学技术系
4.3 性能评估
一、性能测量:
通过执行基准程序来测量计算机的性能
标准化
程序
选用负载:
假想程序———不能恰当地预测实际运行情况
实际应用程序———不同领域具有代表性的应用
程序
2009
华东师范大学计算机科学技术系
23
4.3 性能评估
二、性能比较和综合评价
针对一组基准程序,在不同的机器上运行,
各段程序将会产生不同的结果
例:P169 图4-4
————如何综合评价是困难的
一种简单的综合评价指标:总执行时间
机器B的性能
总执行时间A 1001
=
=
= 9.1
机器A的性能 总执行时间B
110
2009
华东师范大学计算机科学技术系
24
二、性能比较和综合评价
上述方法中,程序的平均执行时间与总的执行时间
成正比
————各程序执行的算术平均
n
AM = 1/n ∑ Timei
i=1
Timei: n个程序组成的总任务中第i个
程序的执行时间
减小AM → 缩短平均执行时间 → 提高了系统性能
如程序的执行频度不同,需加权————加权算术平均
方法:以某台计算机为基准,为各个基准程序选择
一个权重值,使得所有程序在该基准计算机
2009
上的加权执行时间都相等
华东师范大学计算机科学技术系
25
§4 评估和理解性能
4.1
4.2
4.3
4.4
2009
概述
CPU的性能和影响因素
性能评估
实例:两个SPEC基准测试以及
新型Intel处理器的性能评价
华东师范大学计算机科学技术系
26
4.4 实例:两个SPEC基准测试以及
新型Intel处理器的性能评价
计算机系统性能评价公司(SPEC)
89年成立
为现代计算机系统建立标准的基准程序集
SPEC基准程序集包括多种测试:
CPU性能、图形图像、高性能计算、面向对象计
算、Java应用程序、客户-服务器模型、邮件系
统、文件系统、Web服务器等等
2009
华东师范大学计算机科学技术系
27
4.4 实例:两个SPEC基准测试以及新型Intel处理器的性能评价
 89年提出一套通用机基准测试程序;
 92年推出:SPEC92
由10个测试程序组成:
4个定点运算(SPECint92)+6个浮点运算(SPECfp92)
不测试I/O性能,运行在Unix下
 95年推出:SPEC95
两套:C语言———用于测试整数运算性能;
FORTRAN———用于测试浮点运算性能。
 2000年推出:SPEC2000
12个整数基准测试程序+14个浮点基准测试程序
CINT2000 + CFP2000
P171图4-5
 2006年推出:SPEC2006
12个定点基准测试程序(CINT2000)
17个浮点基准测试程序(CFP2000)
2009
华东师范大学计算机科学技术系
详细资料可查阅SPEC网站
www.spec.org
28
4.4 实例:两个SPEC基准测试以及新型Intel处理器的性能评价
一、使用SPEC CPU基准程序测试的性能
SPEC CPU2000由整数与浮点基准程序集分别得到
独立的性能评价
 SPEC2000
参照机:300MHz Sun Ultra 5 _ 10
 统计计算
SPEC比值 =
在参照计算机上的运行时间
在被测计算机上的运行时间
SPEC值取几何平均:
n
2009
1/n
SPEC等级=( SPECi)
华东师范大学计算机科学技术系
i=1
29
一、使用SPEC CPU基准程序测试的性能
实例:测试机 Dell Precision台式机
Intel Pentium III处理器
Intel Pentium 4 处理器
不同时钟频率下的测试结果:
P172图4-6
分析:
· 时钟频率增长,处理器性能线性增长
但实际情况和许多因素有关,同时测试程
序对内存的压力并不太大
· 在浮点基准测试程序集中,Pentium 4 比
PentiumIII性能好——Pentium 4使用更新技术
2009
华东师范大学计算机科学技术系
不能将时钟频率与其他方面的改进截然分开
30
4.4 实例:两个SPEC基准测试以及新型Intel处理器的性能评价
二、SPEC web99:web服务器吞吐量的基准程
序集
SPECweb96:1996年首次推出进行web服务器性
能测试的基准程序集
SPECweb99:1999年推出新版本
· 更关注吞吐量,主要测试最大连接数下的响
应时间
· 用于多处理器系统
· 包括服务器软件测试
· 性能依赖多方面,包括硬件系统及网络
2009
华东师范大学计算机科学技术系
31
一、使用SPEC CPU基准程序测试的性能
实例:测试机 Dell PowerEdge服务器
Xeon Intel Pentium III处理器
Xeon Intel Pentium 4 处理器
Xeon版本支持多处理器
Exon MP还支持第三层的片外高速缓存
不同Dell系统的测试结果:
P172图4-7
分析:
· 处理器时钟频率不是决定Web服务器性能的
重要因素
比较6600、8450/700
32
2009
· 通过配置,将使系统性能更好
华东师范大学计算机科学技术系
4.4 实例:两个SPEC基准测试以及新型Intel处理器的性能评价
三、性能、功耗及能量效率
在移动应用中,功耗成为处理器性能的主要限制
◆ 节电的主要技术:
· 休眠
· 减小时钟频率
· 降低电压
◆
Intel为移动应用设计的低功耗系列机
————Pentium M
三款为移动应用设计的处理器基准测试
33
2009
华东师范大学计算机科学技术系
P174图4-8
◆
三、性能、功耗及能量效率
能量效率=性能/平均电能消耗
三款为移动应用设计的处理器能效测试
P175图4-9
分析:
· Pentium M 能量效率显著,特别是在最小时
钟模式下
· Pentium M 是为考虑能量效率而设计的
Pentium III-M 及 Pentium 4-M只是改进型
2009
华东师范大学计算机科学技术系
34
Amdahl定律提供了一种判断增强措施可以提高多少性能的
系统中某一部件由于采用某种更快的执行方式后整个系统
4.4 实例:两个SPEC基准测试以及新型Intel处理器的性能评价
性能的提高与这种执行方式的使用频率或占总执行时间的
指标,以及如何分配资源才能够改进性价比的途径
比例有关。
使最常用的部分变得更快
四、计算机设计的优化
Amdahl定律: T=T1/B+T2
T: 改进后程序的执行时间
T1:受改进影响的部分的执行时间
T2:未受改进影响的部分的执行时间
B: 改进部分性能提高的倍数
分析:
通过使用某种较快的执行方式所获得的性能提
高,受限于可使用这种较快执行方式的时间所
35
2009
华东师范大学计算机科学技术系
占的比例
四、计算机设计的优化
例3)设某程序在某台计算机上运行所需的时
间是100秒,其中80秒时间进行乘法操作,若
要使程序执行的速度提高到原来的5倍,则乘
法部件的执行速度应提高多少倍?
解)改进后的执行时间:100秒/5=20秒
20=80/n+20
0 =80/n
结论:若乘法只占总计算量的80%,那么无论
对乘法部件进行何种改进,都是徒劳。
某项改进使整体性能提高的幅度,是与改进部
36
2009
华东师范大学计算机科学技术系
分在总任务中所占的比重有关。
§4 评估和理解性能
4.1
4.2
4.3
4.4
概述
CPU的性能和影响因素
性能评估
实例:两个SPEC基准测试以及
新型Intel处理器的性能评价
4.5 计算机系统的可靠性
2009
华东师范大学计算机科学技术系
37
4.5 计算机系统的可靠性
一、故障类型
物理故障
P375图8-5
内部物理故障
外部物理故障
人为故障
 故障———系统中某一部分出现的物理紊乱现象
永久性故障———硬件的物理失效引起
中期故障———偶然性故障,一般可修复
2009
暂态故障———由于暂时的环境条件而导致
例)干扰、静电等
38
华东师范大学计算机科学技术系
一、 故障类型
 失效————指系统在规定的条件下和规定的时间
内丧失了规定的功能
失效规律
故障
早期失效
期
2009
稳定工作期
衰老期
华东师范大学计算机科学技术系
时间
39
4.5 计算机系统的可靠性
二、模块可靠性
 可靠性———连续服务时间的度量。系统投入
使用后,在给定时间内和环境条
件下不发生故障的概率
具有固定故障率的非容错系统:
R(t)=e-t
: 系统的失效率
t: 系统建成时时间为零
R(t):时间的函数
2009
华东师范大学计算机科学技术系
40
二、模块可靠性
 平均故障间隔时间
(MTBF, Mean Time Between Failure)
———两次故障时间间隔的平均值
N
MTBF=( ti)/N
i=1
ti是第i次无故障间隔时间,N为故障数
越大越好
MTBF = MTTF + MTTR
2009
华东师范大学计算机科学技术系
41
二、模块可靠性
 平均修复时间
(MTTR, Mean Time To Repair)
———衡量是否能快速恢复
M
MTTR=( ti)/M
i=1
ti是第i次故障发生至投入运行的时间,M
为修复总次数
越小越好
2009
华东师范大学计算机科学技术系
42
二、模块可靠性
 平均故障时间
(MTTF, Mean Time To Failure)
MTTF的倒数是故障率,一般以10亿小时运行中
的故障时间来计算
称为FIT(Failure In Time)
例2:1 000 000小时MTTF等于1000FIT
2009
华东师范大学计算机科学技术系
43
二、模块可靠性
例3:假设一个磁盘子系统有如下组件和MTTF:
· 10个磁盘,每一个MTTF是1 000 000小时MTTF
· 1个SCSI控制器,500 000小时的MTTF
· 1个电源,200 000小时的MTTF
· 1个风扇,200 000小时的MTTF
· 1条SCSI电缆,1 000 000小时的MTTF
故障具有独立性,计算系统MTTF。
解:系统故障率=10×1/1 000 000+1/500 000+1/200 000
+1/200 000+1/1 000 000
= (10+2+5+5+1)/1 000 000
=23/1 000 000 = 23000/1 000 000 000
即为23 000FIT
MTTF=1 000 华东师范大学计算机科学技术系
000 000/23 000 = 43500(小时) 44
2009
二、模块可靠性
 可用性
可用性为服务实现的度量
可用性 =
MTTF
MTTF + MTTR
缩短MTTR和增大MTTF一样,能提高可用性
2009
华东师范大学计算机科学技术系
45
4.5 计算机系统的可靠性
三、避错和容错
 避错———精心设计,防止故障出现
 容错———容许故障出现,但防止其造成的不利
影响
容错技术 错误恢复———系统退回到已知的正
确状态
例)卷回法、日志法
错误补偿———利用冗余性来克服出
错的不利影响,在出
现错误时可继续提供
无错的服务
 错误预测——预测错误的存在和产生,减小MTTR
46
2009
华东师范大学计算机科学技术系
4.5 计算机系统的可靠性
四、容错技术
容错的主要技术———冗余技术
通过引入系统资源的冗余,实现系统的可靠工作
 时间冗余———对计算重复进行,并比较检查,以
实现无错计算
 空间冗余———采用额外硬件进行并行工作,以屏
蔽错误结果
 信息冗余———采用软件的方法,用不同的算法计
算相同的结果,并进行判决
2009
华东师范大学计算机科学技术系
47
四、容错技术
 覆盖率———指系统能从指定故障中成功恢
复工作的概率
系统容错性的指标,用于衡量容错系统的
可靠性
例4)某台计算机的覆盖率为100%,意味着
该机在每个方面,包括电路、逻辑门、
每条数据通路都具有某种容错机制
2009
华东师范大学计算机科学技术系
48
本章重点
♦ CPU的性能
衡量公式、影响因素
2009
♦
性能评估方法
♦
计算机设计的优化
♦
计算机系统的可靠性
华东师范大学计算机科学技术系
49
作业
P179:
4.1
4.11
4.2
4.45
4.3
4.46
4.6
4.7
4.8
2009
华东师范大学计算机科学技术系
50