行列ベクトル乗算を使用して Akka Framework のベンチマークを試みました。この非常にデータ集約的な問題について、16 コアのマシンでさまざまな数のワーカーの絶対ランタイムを測定しました。
次の構成を使用しました。
akka {
logConfigOnStart=off
executor = "thread-pool-executor"
fork-join-executor {
parallelism-min = 16
parallelism-factor = 3.0
parallelism-max = 16
}
}
ワーカーの数が異なる場合、使用するワーカーが多いほどランタイムが向上すると予想されますが、速度が非常に悪いことがわかります。絶対実行時間を測定し、棒グラフにプロットしました。
詳細については、以下をご覧ください。
git のプロジェクトの説明: Benchmarking Akka までスクロールします。
またはgithubでの実装。
これは大学向けの推敲であり、最初に Actor Model と Akka がまとめられているのはこのためです。
私の質問は次のとおりです。
- 私は何を間違っていますか?
- より良いパフォーマンスを観察するためにプログラムを改善するにはどうすればよいですか?