0

我必须挖掘大量数据集,并想知道是获得带有 GPU 的桌面还是将工作负载分散到不同的机器上更好?

我认为使用 GPU,我可能必须使用 CUDA 工具包之类的东西编写自己的代码。

我必须执行正则表达式搜索的字符串数量大约为数百万,并且我必须匹配许多不同的关键字,这些关键字达到 10k,因此它的模式匹配约为 500 亿。我想分散工作量,以便可以在一个核心上完成一百万个等等......

任何建议都会有所帮助。

4

1 回答 1

1

当您想要处理大型数据集时,Hadoop 可能是一个解决方案。Hadoop 实现了 Map-Reduce 算法(最初由 Google 提供)。使用 Hadoop,您可以将任务拆分为多个子部分,并让单独的机器处理每个部分。

您提到的大小(500 亿匹配)可以使用 Hadoop 节点集群进行处理。如果您没有很多机器,您可以从 Amazon 租用它,他们有 Elastic mapreduce。

http://aws.amazon.com/elasticmapreduce/

http://hadoop.apache.org/

于 2012-09-09T05:18:19.313 回答