使用Matrix Vector示例对Akka进行基准测试

时间:2013-05-06 19:43:33

标签: performance scala akka

我试图用矩阵向量乘法对Akka框架进行基准测试。对于这个非常密集的数据问题,我测量了16核机器上不同工人数的绝对运行时间。

我使用了以下配置:

akka {
    logConfigOnStart=off
    executor = "thread-pool-executor"
    fork-join-executor {
        parallelism-min = 16
        parallelism-factor = 3.0
        parallelism-max = 16
    }
}

对于不同数量的工作人员,我希望运行时间越长,我使用的工人就越多,但我观察到加速度非常差。我测量了绝对运行时间并将它们绘制在条形图上。

图:different number of workers

有关详细信息,我希望您查看:

关于git的项目描述:scroll down to Benchmarking Akka

或github上的implementation

这是对大学的阐述,这就是为什么演员模型和Akka在开始时的总结。

我的问题是:

  1. 我做错了什么?
  2. 如何改进我的计划以观察更好的表现?

1 个答案:

答案 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之间,你必须调整以查看哪一个最适合你的设置,你还需要将你的矩阵块大小调整得更大,试验一下。