一些准则:
1.Principle of locality of reference
(1)Locality of Reference
程序总是重用最近用过的指令和数据;如子程序和循环
在程序执行过程中,CPU对指令和数据的访问总是呈现集群化的趋势;顺序访问、表和数组
(2)A Rule of Thumb
90%的时间花费在10%的代码上
(3)Locality of reference includes
时间局部性:最近访问的指令和数据很有可能在最近还会被访问
空间局部性:与已被访问语句相邻的语句很有可能会被访问
(4)这个准则是缓存系统的理论基础
(5)结构局部性比数据局部性体现地更加明显
2.聚焦一般情况 Focusing on The Common Case
(1)In system design or project design,we must focus on the common case
The events occurred frequently
Optimizing the common case can improve the whole system performance
Focusing on infrequent events has no meanings
(2)如何优化?
更快的器件
并行计算、更好的算法
减少I/O和通信频率
3.Amdahl Law
(1)Amdahl Law
使用更快的执行模式所提高的性能受到更快的执行模式的执行时间在总执行时间中所占比例的限制
提高的性能受到使用更快模式的频率的限制
阿姆达尔定律定义了通过使用特定技术可以获得的加速
Sn :总效率提升倍数
Tn:改进后所用时间
T0:改进前所用时间
Fe:要改进的部分占总时间的比例
Se:单个部分效率提升倍数
law of diminishing returns:仅改进一部分计算所获得的加速比增量改进随着改进的增加而减小
4.The Processor Performance Equation
单用核心数或时钟频率来表达CPU性能并不准确,用CPU时间(CPUy运行一个程序所需要的时间)更准确
CPU time = CPU clock cycles for a program *clock cycle time = CPU clock cycles for a program/clock rate
CPU time = CPI ×IC × clock cycle = CPI ×IC / clock rate
CPI: cycles per instruction IC: instruction count
处理器性能由三个参数决定:1.时钟频率2.每个指令需要的时钟周期(CPI)3.指令数目(IC)
RISC(精简指令集计算机) focusing on CPI, CISC(复杂指令集) focusing on IC,时钟频率所有CPU都关心。根据指令复杂度来区分 RISC和CISC,单个指令要的时间周期长,比较复杂是CISC
5.Reliability and availability
(1)Reliability用MTTF表示。MTTF: Mean Time to Failure
Rate of failures: 1/ MTTF
Failures per billion hours of operation
The unit is FIT (Failures in Time )
MTBF:Mean Time between Failures = MTTF+MTTR:Mean Time to Repair
(2)Availability=MTTF/(MTTF+MTTR)
computer evolution trends:
低端 中端 高端 嵌入式
evolution trends of throughput and latency:
Throughput/bandwidth: 单位时间内完成的任务量,Developing very fast
Latency/Response Time : 从初始化一个事件到完成它所需时间, Developing slower than throughput
A rule of thumb: Throughput increasing speed at least squares latency improvement speed
Propagation Latency(传播延迟) =resistor(电阻) * capacitor(电容)
Intelligent computing system:
可高效执行AI运算的计算机:
1.云上集群、超级计算机、SMP(对称多处理器. 顾名思义, 在SMP中所有的处理器都是对等的, 它们通过总线连接共享同一块物理内存)、多GPU计算机
2.专用AI计算机 深度学习计算机、AI CPU(Acend, Google TPU, Nvidia cuDNN,Cambricon)等
Machine learning types:
4. back to step 2,直到满足演化停止的条件