因此,我目前正致力于将我的 Scala 代码分布在多台机器上以获取大图(问题的“第 1 部分”),并且目前正在使用 Akka 框架,希望能够使用 Actors 和 Remoting。
我在这里阅读了文档,似乎可以将示例的完成方式扩展到做我想做的事情,但我对这种方法有一些担忧......
1)我们如何决定我们应该创建多少个Actor实例?我们是否必须做一个试错的事情来看看哪个是最好的,还是有一些更直观的方法来解决它?
2)我正在考虑以类似于示例的方式完成我的任务 - 使用一个产生多个工人并使用案例类作为消息进行通信的 Master。我想要做的是在所有顶点对之间找到一些度量(随机游走)。我有一个图形类,它实现了一种计算给定两个顶点的度量的方法。
我会给每个工人两个顶点'u'和'v'来计算度量,并让工人返回值。
当 Master 向 Workers 发送消息以计算度量时,Worker 需要图形结构 - 我是否只需在消息中包含图形结构(即邻接列表,即 HashMap)来做到这一点?这是否会通过每次复制图结构而导致任何开销,或者所有工作人员都只是共享该图,还是有更好的方法来解决这个问题?
3)计算顶点对之间度量的算法是否需要重新实现到扩展的Actor类,或者有没有办法让各个Actor访问相同的图结构来调用方法(我猜这类似于上面关于将整个图形结构作为消息的一部分传递的问题)?
谢谢!问候,-kstruct