我试图用矩阵向量乘法对Akka框架进行基准测试。对于这个非常密集的数据问题,我测量了16核机器上不同工人数的绝对运行时间。
我使用了以下配置:
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。
这是对大学的阐述,这就是为什么演员模型和Akka在开始时的总结。
我的问题是:
答案 0 :(得分:1)
1)您正在配置使用线程池执行程序,但仅为fork-join-executor提供配置。 thread-pool-executor具有可怕的可伸缩性,请参阅:http://letitcrash.com/post/17607272336/scalability-of-fork-join-pool
2)使用executor =“fork-join-executor”,我建议将你的并行因子设置在0.6到1.0之间,你必须调整以查看哪一个最适合你的设置,你还需要将你的矩阵块大小调整得更大,试验一下。