【計算機組織與結構】簡單粗暴理解 Amdahl's Law 阿姆達爾定律

最後更新於 2021 年 6 月 2 日

定義

  Amdahl’s law簡單的定義為【針對電腦系統裡某一個特定元件予以最佳化,看它能對整體系統效能造成多少改變。】那麼也可以推理出,當你想要顯著加速整個系統,則必須提升整個系統佔大部分的元件速度,也就是優化影響最大的部分。

20200522173556 【計算機組織與結構】簡單粗暴理解 Amdahl's Law 阿姆達爾定律
圖片來源:https://www.youtube.com/watch?v=QutASUpGzbc

公式

廢話不多說,先把Amdahal’s law的公式附上↓

20200522170946 【計算機組織與結構】簡單粗暴理解 Amdahl's Law 阿姆達爾定律
  • p:改善的元件部分佔所有工作的比例
  • N:改善後系統的提升比例

既然公式都已經有了,那就做兩個題目來更好的理解吧。

Question1:A Processor spends 30% of its time on flip addition, 25% on flip mult, and 10% on flip division. Evaluate the following enhancements, each costing the same to imlement.

a.Redesign of the flip adder to make it twice as fast.
b.Redesign on the flip multiplier to make it three times as fast.
c.Redesign on the flip divider to make it 10 times as fast.

Answer:題目已經把該給的值都給好給滿,只要帶進去就行。

20200522172652 【計算機組織與結構】簡單粗暴理解 Amdahl's Law 阿姆達爾定律

Question2:The new processor is 10 times faster on computation in the Web serving application than the original processor. Assuming that the original processor is busy with computation 40% of the time and is waiting for I/O 60% of the time, what is the overall speedup gained by incorporating the enhancement?

Answer:

題目說新處理器的計算速度是原始處理器的10倍,並假設原始處理器有40%時間用於計算;60%時間用於等待I/O。那麼可以得知我們需要改善的部分是用於計算的那40%。

20200522172433 【計算機組織與結構】簡單粗暴理解 Amdahl's Law 阿姆達爾定律

系統最多可以改善多少?

在理想情況下,假設「無窮倍」的改善,則:

20200522173012 【計算機組織與結構】簡單粗暴理解 Amdahl's Law 阿姆達爾定律

最大的系統效能改善倍數,是未改善部分所佔比例的倒數。

20200522173212 【計算機組織與結構】簡單粗暴理解 Amdahl's Law 阿姆達爾定律

程序並行化的速度受到可並行化多少程序的限制。例如,如果可以並行化95%的程序,則無論使用多少個處理器,使用並行計算的理論最大加速將如圖所示,為20倍。如果90%的程序可以並行化,那麼使用並行計算的理論最大加速將是10倍。


最後用一個基礎題收尾:

Q:We can improve 75% of the total execution time of our application by a factor of 3.What is the overall speedup?

A:1/[(1-0.75)+0.75/3] = 2

0 0 評分數
Article Rating
訂閱
通知
guest

0 Comments
在線反饋
查看所有評論