6. 如何安装Paracel?
先安装Paracel的一些依赖,然后在集群上部署Paracel。详细的步骤请参见文档的。
7. 如何在Paracel框架中进行分布式算法开发?
用户可以模仿Paracel项目里alg目录下的例子来开发自己的应用,详细的介绍请参见Paracel入门教程的。
8. 什么是straggler问题?Paracel是如何解决的?
由于一些软件和硬件的原因,节点的计算能力往往不尽相同。对于迭代问题来说,每轮迭代结束时算地快的节点都要等待算地慢的节点算完,再进行下一轮迭代,这种等待在节点数目增多的时候变地尤为明显。这是BSP模型的一个经典问题,一般有两种思路来解决这个问题:第一种办法是在切分数据时预留一些数据,再对剩下的数据做均分。在每轮迭代结束时,算地快的节点会继续计算这些预留的数据以等待算地慢的节点完成本轮计算。简单来说,就是让算地较快的节点算更多的数据,即做某种特定的负载不均衡。这时,开发者需要写许多与算法逻辑无关的调度代码来实现这种策略。Paracel则采用了一种更通用的方式,我们放宽了“每个迭代步都等待”的约束条件:当在一轮迭代结束时,算地快的节点可以继续下一轮迭代,但不能比最慢的节点领先参数s个迭代步。当领先超过s个迭代步时,Paracel会强制它进行等待。这样的异步控制方式一方面从整体上省去了等待时间,另一方面也能间接地帮助算地慢的节点赶上。从优化问题的角度,虽然每个迭代步收敛地慢了,然而每个迭代步的时间开销变少了,总体上收敛也就变快了。
9. Paracel是只适合机器学习算法的训练框架吗?
Paracel最初确实是针对机器学习问题做的抽象。但随着项目的推进,我们逐渐发现Paracel的范式同样适用于图算法和科学计算问题。举例来说,我们在Paracel的toolkits中有两个图算法的例子:Max Vertex Value和Pagerank,前者的实现我们采用了Pregel(Google对BSP的图抽象)的方式而后者我们采用了Paracel的范式。事实上,用Paracel的范式实现图算法更加直接和高效。
10. Paracel目前有哪些局限性?未来发展是怎样的,下个版本会加入哪些功能?
目前这个版本的Paracel没有做容错,因此稳定性欠佳,这将作为我们在下一个版本的主要解决的问题。另外,Paracel目前只支持文本文件,我们也将尽快加入对压缩格式以及其他文件的支持。Paracel streaming和像Spark那样的data flow接口也是我们正在努力开发的模块。
来自:?from=timeline
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-33204-2.html
美国急了