美文网首页
深入理解计算机系统笔记 2020-10-28

深入理解计算机系统笔记 2020-10-28

作者: White夏天baby | 来源:发表于2020-10-29 20:50 被阅读0次

1.9

系统是硬件和系统软件互相交织的集合体,它们必须共同协作才能达到运行应用程序的最终目的。

1.9.1

Amadahl定律,其主要思想是,当我们对某个系统的部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度。若系统执行某应用程序的时间为Told,设系统某部分所需执行时间与该时间的比例为α,而该部分性能提升比例为k。该部分初始所需时间为Told*α,现在所需时间为(Told*α)/k。总执行时间为:

Tnew = (1-α)*Told + (Told*α)/k = Told*[(1-α)+α/k]。

由此可计算加速比为

S=1/[(1-α)+α/k]

举个栗子:

系统某个部分初始耗时比例为60%(0.6),其加速比例因子为3(k=3)。则我们可以获得加速比为1/[0.4+0.6/3] = 1.67倍。虽然我们对系统的一个主要部分作出了重大改进,但是获得的系统加速比却明显小于这部分的加速比。这就是Amadhal定律的主要观点——要想加速整个系统,必须提升全部系统中相当大的部分的速度。Told/Tnew若有所改进,速度应该大于1。我们用后缀X来表示比例,2.2X读作2.2倍。

练习题

1.全程2500公里,限速范围内,开车平均每小时100公里,全程需要25小时。

1.1          有1500公里的路程取消限速,开车速度可达到150公里/小时,那么这对整个行程加速比是多少?

Amadahl定律练习题1

1.2           若你想要整个行程的加速比为1.67X,那么必须以多块的速度通过这1500公里

Amadahl定律练习题1.2

2.若将一个软件的整体性能将改进2X,只有80%系统能被改进,那么这部分需要被改进多少(即K取何值)才能达到整体性能目标。

Amadahl定律练习题2

若K趋向于∞,可以取系统的某一部分将其加速到一个点,在这个点上,这部分花费的时间可以忽略不计。

S∞ = 1/(1-α)

举个栗子:若60%的系统能加速到不花时间,我们获得的净加速比仍只有1/0.4=2.5。

要想提升2倍或更高的比例因子,只有优化系统的大部分组件,大部分组件,大部分组件。重要的事情说三遍

相关文章

网友评论

      本文标题:深入理解计算机系统笔记 2020-10-28

      本文链接:https://www.haomeiwen.com/subject/wpszmktx.html