對於許多並行程序而言,並行化會帶來相當大的成本,使加速次級線性化。在這種情況下,並行版本比順序版本的能源效率低。 但是,人們可能會關注時間表現和能源效率,是否有任何通常用於此目的的具體指標?是否有任何衡量性能和能效的指標?
更具體地說,可以確定最佳能量和性能目標的線程數的度量。
對於許多並行程序而言,並行化會帶來相當大的成本,使加速次級線性化。在這種情況下,並行版本比順序版本的能源效率低。 但是,人們可能會關注時間表現和能源效率,是否有任何通常用於此目的的具體指標?是否有任何衡量性能和能效的指標?
更具體地說,可以確定最佳能量和性能目標的線程數的度量。
最常用的指標是每瓦性能。看看「Green500列表」。維基百科也有關於每瓦性能的文章。該指標並沒有像第一次出現那樣清晰,因爲「表現」並不是明確的劃分。 FLOPS目前非常受歡迎,但它有很多缺陷。我不同意性能/瓦特不能用來評估軟件的性能。根據您的應用程序,您可能需要使用性能/瓦特/秒。
我不知道爲什麼你要確定能源效率,如果並行是花費你。事實上,我並不真正瞭解並行機制如何降低能源效率,除非您使用單核機器,進行純計算,並且在線程之間進行大量顛簸。我猜這不是你自己的代碼。
軟件功效:最重要的兩個因素是:
這些因素分解成整個主機的其他更具體的指導方針:
劃分的並行線程之間的計算應減少計算時間,不然爲什麼添加其併發症? (是的,我瞭解某些編程結構(如遞歸)可能導致代碼更簡單,更簡潔但性能更差,但這些例外。)減少計算應提高能效。如果沒有,請查看算法和代碼練習。
如果你能給我更多關於你的應用的細節,我可能會提出更具體的建議。
http://en.wikipedia.org/wiki/Performance_per_watt? – nos
@nos謝謝!那個更適合評估架構設計。但就我而言,硬件是固定的。可調參數是要使用的線程數。 – JackWM