我試圖用矩陣矢量乘法對Akka框架進行基準測試。對於這個非常嚴重的數據密集型問題,我測量了16核心機器上不同數量的工作人員的絕對運行時間。使用矩陣矢量示例對Akka進行基準測試
我已經使用了以下配置:
akka {
logConfigOnStart=off
executor = "thread-pool-executor"
fork-join-executor {
parallelism-min = 16
parallelism-factor = 3.0
parallelism-max = 16
}
}
對於不同的工人,我希望一個更好的運行時更多的工作我用,但我觀察到一個非常糟糕的加速。我測量了絕對運行時間並將它們繪製在條形圖上。
欲瞭解更多的細節,我希望你有一看:上git的
項目介紹:scroll down to Benchmarking Akka
或在GitHub上implementation。
這是大學的闡述,這就是爲什麼Actor模型和Akka在開始時被總結的原因。
我的問題是:
- 我在做什麼錯?
- 如何改進我的程序以觀察更好的性能?
答案几乎總是會將工作分解爲太小的塊。如果使用100倍大的矩陣(10倍大10倍,如果它們是2d),它如何擴展? – 2013-05-06 20:38:40
線程池執行器具有可怕的可伸縮性,請使用fork-join-pool。 http://letitcrash.com/post/17607272336/scalability-of-fork-join-pool – 2013-05-06 23:05:24