2012-10-03 44 views
3

是否有任何数据挖掘库正在使用(或可以使用)MPI(按摩传递接口)?我正在寻找类似于Apache Mahout的东西,但它可以轻松地集成到MPI环境中。用于MPI的数据挖掘库

我想使用MPI的原因是配置(与Hadoop相比)很容易。 或者在数据挖掘场景中使用MPI没有意义吗?

回答

4

没有理由为什么MPI(这是一个概念,而不是软件本身!)必然比Hadoop/Mahout更容易安装。事实上,后两者现在是一团糟,特别是因为他们的Java库混乱。 Apache Bigtop试图让它们更容易安装,一旦你发现了一些基本的东西,那就很好。

但是:

  • 如果你的数据是小(即它可以在单个节点上处理),请不要安装群集解决方案,您支付开销。 Hadoop在单个主机上没有多大意义。使用Weka,ELKI,RapidMiner,KNIME或其他。
  • 如果你的数据很大,你会想最小化数据传输。而这正是Hadoop/Mahout的优势所在,最大限度地减少了数据传输。典型的消息传递API对于数据繁重的操作无法以相同的方式进行扩展。

有一些努力,如阿帕奇哈马是非常相似的MPI的东西恕我直言。它基于消息,但是它们是通过障碍同步进行批量处理的。在发送以减少流量之前,它可能还会有一些消息聚合。

+0

也许存在某种误解 - MPI是一种标准,并且有像OpenMPI这样的实现。我有这样的想法:http://www.ism.ac.jp/IWSML2012/r1.pdf。但我找不到这样的图书馆:( – mateuszk87

0

这个想法没有任何意义,我认为你有一些误解,MPI更适用于紧密耦合的系统,我99%确定不会将消息发送到外部位置,但是可以处理或分析MPI数据更快(取决于您的硬件)。我的2美分是使用AMQP协议开放源代码实现中的一种更好,我会说zeromq是您最好的选择,然后处理您在R或python中获得的所有数据,或者如果您的数据集非常大MPI。另一种选择是,您可以在连接的不同计算机上调用串行库,并运行MPI,因为它们都分别连接到互联网。 R真的很容易用MPI调用,python也是如此。

+0

为什么没有道理? http://www.ism.ac.jp/IWSML2012/r1.pdf有一个基于MPI的群集解决方案...... – mateuszk87

2

我强烈建议graphlab。目前graphlab,分布式格拉夫并行API,具有工具包包括

  • 主题建模
  • 协同过滤
  • 聚类
  • 图形模型

http://docs.graphlab.org/toolkits.html

GraphLab是一个基于图形的高性能rmance,用C++编写的分布式计算框架。虽然GraphLab最初是为机器学习任务而开发的,但它在广泛的其他数据挖掘任务中取得了巨大成功;在数量级上表现出其他抽象。

GraphLab特点:

统一多核和分布式API:写一次在性能调整共享和分布式内存系统 有效地运行:优化的C++执行引擎利用广泛的多线程和异步IO 可扩展:GraphLab智能地使用先进的新算法 HDFS集成数据和计算:直接从HDFS 访问您的数据功能强大的机器学习工具包:打开BigData转化为可操作的知识轻松