この質問は、ソフトウェアとハードウェアに関連する問題が混在しています。
VS2010 を使用して c で記述されたカスタム アプリがありますが、これにはハイエンド ハードウェアが必要です (アプリは 1 分間に約 50 ギガのデータを噛み砕く必要があります)。64 ビットの Win 7 で動作します。現在、デュアル キセノン 5690 チップ (各 16 コア) を搭載した Dell t7500 を使用しているため、12 個の物理コアと 24 個の論理コアがあります。アプリには一度に約 30 ~ 40 ギガのデータが使用されるため、セットアップには 48 ギガの RAM が必要です。
アプリはマルチスレッド化されているため (24 個の論理コアすべてが 100% に達しているのを見るのは素晴らしいことです!)、CPU バウンドから IO バウンドになりました。(アプリをマルチスレッドとして書き直す前は、データのバックロードに約 36 時間かかりました。現在は約 1.5 時間かかりますが、それでも 15 分未満に短縮する必要があります)。
マルチドライブ構成を利用できるように、ソフトウェアを変更できます。
24 個のコア間で io 作業を分割できます。約 3 TB のストレージが必要です。非現実的ではありますが、48 個の個別の SSD を使用して、実行中の 24 個のスレッドのそれぞれに読み取りと書き込み用の専用ドライブを用意するのが最善のシナリオでしょうか? (アプリは小さなファイルの読み取り/書き込みをあまり行いません。代わりに、1 ~ 2 GB のチャンクで読み取り/書き込みを行います。)
単一のシステムでこれほど多くのドライブを取得することが不可能であると仮定すると、ドライブの数に関して、この種のセットアップの制限はどれくらいになるでしょうか? t7500 マザーボードには 5 つのスロットがあります。そして、ここではどのような種類のコントローラー/構成が最速でしょうか? SATA? SCSI? レイド0?
それとも、ハードウェアの問題の多くをそれほど重要でなくするソフトウェアでできることはありますか? ありがとう。