欢迎光临
我们一直在努力

(学习笔记)1.9 重要主题(1)

文章目录

  • 线索栏
  • 笔记栏
    • 章节引言
      • 1.核心观点
      • 2.本节目标
    • 1.9.1 Amdahl定律
      • 1.Amdahl定律详解
        • 1)核心思想
        • 2)公式推导
        • 3)定律的要义
        • 4)特例(k → ∞)
      • 2.旁注:表示相对性能
      • 3.练习题模型分析
        • 1)练习题1.1(卡车司机)
        • 2)练习题1.2(软件性能)
  • 总结

线索栏

  • Amdahl定律的核心思想是什么?
  • 系统某部分初始执行时间占比为α,该部分加速k倍,写出新的总时间T_new公式和整体加速比S的公式。
  • 根据Amdahl定律,要想显著提升整体性能,必须对系统的哪部分进行优化?
  • 当某部分被加速到极限(k→∞)时,整体加速比S_∞的公式是什么?这说明了什么?
  • (旁注)表示性能提升时,为什么用“2.2×”比“提升120%”更清晰?
  • 练习题1.1:卡车行程问题如何用Amdahl定律建模?(找出α和k)
  • 练习题1.2:要达到整体2×加速,但只有80%可改进,求所需的部分加速比k。

  • 笔记栏

    **本节主题:**小结系统漫游,并引入一个贯穿计算机系统设计的重要定量原则——Amdahl定律,用于量化局部改进对整体性能的影响。

    章节引言

    1.核心观点

    系统是硬件与系统软件相互交织的集合体,必须共同协作以运行应用。

    2.本节目标

    通过了解底层细节,编写出更快速、更可靠、更安全的程序。

    1.9.1 Amdahl定律

    1.Amdahl定律详解

    1)核心思想

    对系统某一部分进行加速时,其对整体性能的提升效果取决于: (1)该部分的重要性(在原执行时间中所占的比例 α)。 (2)该部分的加速程度(加速比 k)。

    2)公式推导

    (1)设原系统执行时间:T_old (2)某部分原时间占比:α, 原耗时:αT_old (3)该部分加速k倍后耗时:(αT_old)/k (4)剩余部分(1-α)时间不变。 (5)新的总时间:T_new = (1-α)T_old + (αT_old)/k = T_old[(1-α) + α/k] (6)整体加速比:S = T_old / T_new = 1 / [(1-α) + α/k]

    3)定律的要义

    要想显著加速整个系统,必须提升系统中相当大的部分(即α值必须大)的速度。​ 即使对主要部分(α较大)做出很大改进(k很大),整体加速比S也会被未改进的部分(1-α)所限制。

    4)特例(k → ∞)

    (1)当某部分可被优化到耗时忽略不计时,整体加速比达到上限:S_∞ = 1 / (1-α) (2)意义:这揭示了性能优化的理论天花板。例如,即使将系统60% (α=0.6) 的部分优化到极致,整体最多也只能加速2.5×。

    2.旁注:表示相对性能

    (1)最佳表示法:使用比例形式 T_old / T_new, 读作“X×”(如 2.2×)。 (2)优点:比使用百分比更清晰、无歧义,尤其对于较大的性能提升。

    3.练习题模型分析

    1)练习题1.1(卡车司机)

    在这里插入图片描述

    (1)建模:总行程时间为T_old。可加速的蒙大拿州路段对应α(1500km/2500km = 0.6),速度提升对应k(150km/h / 100km/h = 1.5)。 (2)目标:应用公式求整体加速比S,及给定S反推所需速度(k)。 在这里插入图片描述

    2)练习题1.2(软件性能)

    在这里插入图片描述 (1)建模:整体加速比目标 S=2, 可改进部分比例 α=0.8, 未改进部分 1-α=0.2。 (2)目标:根据公式 S = 1 / [(1-α) + α/k], 求解未知的k。 在这里插入图片描述


    总结

    Amdahl定律是计算机系统设计中一个强大而悲观的原则。它告诉我们:

  • 局部优化的效果受限于其初始占比。提升一个占比很小的子系统,无论加速多少倍,对整体影响都微乎其微。
  • 存在性能提升的上限。由不可加速部分的比例(1-α)决定,即 S_∞ = 1/(1-α)。
  • 具有普适性:该定律不仅适用于计算机性能优化,也适用于任何改进过程的评估(如成本控制、效率提升)。
  • 这一定律为后续所有具体的性能优化讨论(如CPU、缓存、磁盘I/O优化)提供了关键的全局视角:在投入精力进行优化前,必须首先评估该部分是否值得优化(α是否足够大)。

    赞(0)
    未经允许不得转载:171主机测评 » (学习笔记)1.9 重要主题(1)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址