1. 程式人生 > >簡單粗暴理解【阿姆達爾定律】

簡單粗暴理解【阿姆達爾定律】

增加處理器數、計算負載分佈到更多處理器上——>提高計算速度

程式中可並行程式碼的比例決定你增加處理器(總核心數)所能帶來的速度提升的上限

PS:

S=1/(1-a+a/n)
其中,a為平行計算部分所佔比例,n為並行處理結點個數。這樣,當1-a=0時,(即沒有序列,只有並行)最大加速比s=n;當a=0時(即只有序列,沒有並行),最小加速比s=1;當n→∞時,極限加速比s→ 1/(1-a),這也就是加速比的上限。例如,若序列程式碼佔整個程式碼的25%,則並行處理的總體效能不可能超過4。這一公式已被學術界所接受,並被稱做“阿姆達爾定律”,也稱為“安達爾定理”(Amdahl law)。