2009-05-24 26 views

回答

5

從理論角度來看,您可以達到的最大值是線性加速。 實際上,這可能是super linear speedup。如果您可以在遠處分發問題,則可以利用處理器緩存的效果,例如因爲它不適合單核的緩存,所以你的問題可以比線性更好地擴展。

1

理論上,不,但實際上這可能是這種情況(取決於底層硬件和您的具體問題)。比較並行和順序代碼並不難(比較最快的順序實現與您的並行實現,而不僅僅是在單個處理器/線程上運行的並行實現)。但是,當有人談到線性加速度超過線性時,我總是懷疑;他們要麼沒有正確地測量它(見上文),要測量一個神器(依賴於硬件/操作系統)並且應該相應地記錄它,或者這隻適用於問題/實現/硬件的特定組合。