Spark上的SUMMA(高效分布式矩阵乘法)?

时间:2015-02-21 20:43:00

标签: apache-spark mpi cluster-computing distributed-computing matrix-multiplication

我想知道Spark上是否有类似http://www.cs.utexas.edu/ftp/techreports/tr95-13.pdf的内容。

是否有可能以与MPI相同的方式访问低级RDD功能/分发(SUMMA的关键概念是2D流程拓扑和行/ col广播。)

我已经看过simple matrix multiplication in Spark,但这似乎并不接近SUMMA的效率。

谢谢!

1 个答案:

答案 0 :(得分:2)

我和我的同学们在Spark:Marlin(https://github.com/PasaLab/marlin)之上完成了一个分布式矩阵库。在我们的库中实现的矩阵乘法算法参考CARMA(http://www.eecs.berkeley.edu/~odedsc/papers/bfsdfs-mm-ipdps13.pdf)。

首先,我们调查SUMMA算法。但是,使用Spark的API很难实现在每次迭代期间沿处理器行和列发送子矩阵。最近,我们通过使用TorrentBroadcast实现了一个类似于MPI发送和接收的机制,需要修改Spark核心代码。我认为通过这种策略,可以在Spark中实现SUMMA。但容错和可扩展性可能是一个问题。