1.6性能
性能定义
如果你在两台不同的计算机运行相同的程序,首先完成任务的计算机就更快。
但如果你运行的是一个数据中心,有几台服务器提供用户投放作业,那应该是一天内完成作业最多的那台计算机快。
所以不同使用途径对性能的要求也不一样
个人用户计算机会对降低响应时间有大的要求。
数据中心更多关注吞吐率。
响应时间:
-
也叫执行时间,是计算机完成某任务所需的总时间。
-
包括硬盘访问、内存访问、I/O活动、操作系统开销和CPU执行时间等。
吞吐率:
- 也叫带宽,性能的另一种度量参数,表示单位时间内完成任务的数量。
一般来说,降低响应时间几乎都可以增加吞吐率。
但是当需要处理更多任务时,系统可能需要令后续请求排队。
在这种情况下,随着吞吐率的增加,可同时改进响应时间,因为缩小了排队等候的时间。
因此实际计算机中,响应时间和吞吐率往往相互影响。
使性能最大化方法:
希望任务的响应时间或执行时间最小化。
增加性能
降低执行时间
表达式:
性能 = 1 / 执行时间
性能的度量
计算机在运行程序所需的时间要与一般的响应时间区分开。
我们可以使用CPU执行时间,表示在CPU上花费的时间,不包括等待I/O或运行其他程序的时间。
(用户所感受到的是程序响应时间,而不是CPU时间)
CPU执行时间可以细分为
- 用户程序的响应时间。(用户CPU时间)
- 操作系统为用户服务花去的CPU时间。(系统CPU时间)
使用术语系统性能表示空载系统的响应时间,用CPU性能表示用户CPU时间。
时钟周期和时钟长度
时钟周期:为计算机一个时钟周期的时间,通常是处理器时钟。
时钟长度:每个时钟周期持续的时间长度。
关系:例如时钟周期为250ps,对应的时钟频率为4GHz。
CPU性能及其因素
公式:
一个程序的CPU执行时间 = 一个程序的CPU时钟周期 * 时钟周期时间(/时钟频率)
改进性能:
减少程序的CPU时钟周期数。
减少时钟周期时间。
指令的性能
公式:
CPU时钟周期数 = 程序的指令数 * 每条指令的平均时钟周期数
CPI:每条指令的时钟周期数,表示执行某个程序时每条指令所需要的时钟周期平均数。(CPI随着指令组合而变化)
经典的CPU性能公式
CPU时间 = 指令数 * CPI * 时间周期时间
或
CPU时间 = 指令数 * CPI / 时钟频率
各种因素影响
指令数:执行某程序所需要的总指令数
指令组合:在一个或多个程序中,指令动态使用频率的评价指标,