MPI数据挖掘库

时间:2012-10-03 14:00:22

标签: hadoop machine-learning cluster-computing mpi data-mining

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

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

3 个答案:

答案 0 :(得分:4)

没有理由为什么MPI(这是一个概念,而不是软件本身!)必然比Hadoop / Mahout更容易安装。实际上,后两者目前是一团糟,特别是因为他们的Java库混乱。 Apache Bigtop试图让它们更容易安装,一旦你弄清楚了一些基础知识就可以了。

然而:

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

Apache Hama等一些努力与MPI的东西非常相似。它基于消息,但是它们通过屏障同步进行批量处理。在发送之前,它可能还会进行一些消息聚合以减少流量。

答案 1 :(得分:2)

我强烈推荐graphlab。目前,graphlab是一种分布式图并行API,包含工具包,包括

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

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

  

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

     

GraphLab功能:

     

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

答案 2 :(得分:0)

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