平行計算 並行程式效能的評估

2022-06-24 00:57:13 字數 1100 閱讀 6886

一:speedup factor(加速比例):

s(p)=ts / tp ts :最好的序列演算法所需的執行時間 tp: 使用並行p個處理器所需的執行時間。

線性提速: s(p) = p

二:system efficiency: e(p) = ts  / (tp x p)  = s(p) / p x 100%

三:maximum speedup:很難達到理想最大化:(1)並不是所有都可以進行平行處理 (2)平行計算時需要額外的計算量(同步所需要消耗的) (3)不同processor之間的交流需要時間。(佔很大比重)

scality的畫法:1. strong scaling:(strong是指很難得到線性直線)

(1)問題大小不變,處理器的數量也會增加(2)用於尋找乙個平滑點 可以在可接受的時間內完成計算(用多少臺機器解決這個問題是最好的),從而不會浪費並行重疊產生的週期時間。(3)linear scaling通過增加處理器的數量來實現速度線性提公升。

2. weak scaling: 隨著計算node的增加,問題的大小也是逐漸增加。程式設計有效利用記憶體及其他系統資源。線性scaling可以在執行時隨著負載的增加保持固定。

時間複雜度分析:總的時間複雜度 = 計算時間 + 交流時間 

交流時間 = 傳送資訊的數量 * (資訊的latency + 資訊中的資料量* 傳送乙個資料所需的時間)

平行計算效能分析

第乙個效能當然是速度,還有兩個 延時 完成指定工作所需要的時間 吞吐率 單位時間內完成的工作量 開發並行性通常能改進吞吐率。開發並行可以隱藏延時,當然並沒有真正的減少延時,只是隱藏了延時的代價,因為它 與其等待,不如去計算其餘部分 平行計算比序列計算要建立更多執行緒而帶來額外開銷,建立程序的開銷遠大...

平行計算的效能指標

定義序列程式執行時間為t序列,並行程式執行時間為t並行,則加速比 speedup 是 s t並行 t序列。當加速比 s 等於平行計算的核數 p,則稱該並行程式具有線性加速比 linear speedup 實際上,我們不可能獲得線性加速比,因為多個執行緒 程序總是會引入一些代價。此外,定義 e s p...

Delphi 的平行計算

所謂平行計算,可以讓一段 讓 cpu 的多個核同時開跑,非常明顯地提高 執行速度。所謂 程式 這個中文單詞,嚴格意義上來說,就是按照特定順序,一步一步地執行一些指令。這是標準的序列計算。序列計算的好處是有上下文依賴關係的事情,不會搞錯順序。好比先洗碗,再打飯,程式這樣寫了,計算機絕對不會搞錯成先打了...