2012-09-09 43 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/