3

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

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

4

3 回答 3

4

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

然而:

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

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

于 2012-10-04T07:51:24.903 回答
2

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

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

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

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

GraphLab 特点:

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

于 2012-10-19T08:24:38.560 回答
0

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

于 2012-10-04T05:21:11.990 回答