2012-08-15 63 views
0

我需要排序一個真正巨大的文件幾百個Gb。幸運的是,我可以訪問Linux MPI集羣。有人知道一個好的但最重要的工作排序程序,它可以使用MPI在分佈式環境中運行。 其實我想在該文件中計算獨特的行,所以如果有人知道一個程序,甚至更好。否則,我可以在以後自己弄清楚怎麼做。MPI排序實施

+0

有多少行?您是否可以通過用短哈希替換行來顯着減小文件的大小? – 2012-08-16 04:47:38

+1

1,909,914,436行 – 2012-08-16 11:53:26

+0

更準確地說,文件大小是21Gb。我擔心的是,即使我最終決定編寫類似合併排序的代碼,我也不得不擔心RAM的可用性,這會使整個程序變得更加複雜。 – 2012-08-16 16:57:02

回答

1

因爲沒有提供任何答案,我雖然我只是分享我的結果。

我下載了nsort程序從ordinal.com(2004年獲獎者sortbenchmark.org年度排序算法競賽)。雖然不是以集羣的方式,它排序非常快。我不記得它是什麼了,但我使用nsort獲得了巨大的時間改進。我談論的速度比默認的linux排序快幾十倍(大概在50左右)。

還有兩件事要注意。

  • 它限於非商業分佈的文本文件排序。
  • 它與linux排序實用程序具有完全相同的界面。