2012-09-09 38 views
0

我必须挖掘大量的数据集,并想知道它是否更好地使用GPU获取桌面或仅将工作负载分散到不同的机器上?并行化字符串匹配

我认为与GPU我可能不得不写我自己的代码使用像CUDA工具包的东西。

我必须执行正则表达式搜索的字符串数量是几百万的数量级,我必须匹配运行到10k的一些不同关键字,因此它的约500亿个模式匹配。我想传播的工作量,以便可以在一个核心等上完成一百万...

任何建议都会有所帮助。

回答

1

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

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

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

http://hadoop.apache.org/