我试图用矩阵向量乘法来对 Akka 框架进行基准测试。对于这个非常数据密集的问题,我测量了 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 的原因。
我的问题是:
- 我究竟做错了什么?
- 如何改进我的程序以观察更好的性能?