阿摩線上測驗 登入

申論題資訊

試卷:108年 - 108 一般警察特種考試_二等_刑事警察人員犯罪分析組:計算機概論(包括計算機結構、資料結構、程式設計)#77046
科目:計算機概論、大意(資訊科學概論,電腦常識,電子計算機概論)
年份:108年
排序:0

申論題內容

二、假設可以平行執行兩個 10 × 20 整數矩陣的相加,接著還要循序執行 20 次整數的相加。使用 20 個處理器的時候,相對於只使用一個處理器, 可以得到多大的增速(speedup)?(20 分)

詳解 (共 2 筆)

詳解 提供者:hchungw

增速(Speedup)可以用來衡量使用多處理器相對於單一處理器時的性能提升程度。增速的計算公式為:

Speedup=執行時間(單一處理器)執行時間(多個處理器)Speedup=執行時間(多個處理器)執行時間(單一處理器)

假設每次整數相加的操作所需時間相同。對於10×20矩陣相加,共有200次整數相加操作。如果這200次操作可以在20個處理器上平行執行,那麼理論上這部分的操作時間會減少到單處理器時間的1/20。然而,由於這200次操作之後還要循序執行20次整數相加,這部分的時間不會因為增加處理器數量而改變。

計算單一處理器的執行時間:

  • 對於10×20矩陣相加:200個操作時間
  • 循序執行20次相加:20個操作時間
  • 總共:220個操作時間

計算20個處理器的執行時間:

  • 矩陣相加:200個操作在20個處理器上平行執行,所需時間為200 / 20 = 10個操作時間
  • 循序執行20次相加:20個操作時間(與處理器數量無關)
  • 總共:30個操作時間

計算增速:

Speedup=22030Speedup=30220

Speedup=7.33Speedup=7.33

因此,使用20個處理器相對於使用一個處理器,可以得到大約7.33倍的增速。

詳解 提供者:ShadowPeople
400