私は c# コンソール アプリを持っています。モンテカルロ シミュレーションは完全に CPU バウンドで、実行時間は利用可能な専用スレッド/コアの数に反比例します (コア/スレッド間の比率は 1:1 を維持しています)。
現在、毎日実行されます:
AMD Opteron 275 @ 2.21 GHz (4 コア)
アプリは 3 つのスレッドを使用するマルチスレッドで、4 番目のスレッドは別のプロセス コントローラー アプリ用です。
実行には1 日あたり 15 時間かかります。
次の CPU で構成されたシステムで同じ作業を実行するのにかかる時間を、可能な限り見積もる必要があります。
http://en.wikipedia.org/wiki/Intel_Nehalem_(microarchitecture)
2 x X5570
2 x X5540
ケースを比較して、利用可能なスレッドを使用して再コーディングします。安価な x5540 よりも 2 x x5570 CPU を搭載したサーバーが必要であることを正当化したいと思います (単一のマザーボードで 2 つの CPU をサポートします)。これにより、オペレーティング システムで 8 コア、16 スレッド (これが Nehalem チップの仕組みだと私は信じています) を利用できるようになります。私のアプリでは、モンテカルロ シミュレーションまで 15 スレッドです。
これを行う方法はありますか?シングル スレッド ベンチマークに関連する 3 つの CPU すべてのベンチマーク データを参照できる Web サイトはありますか? 次に、ケースとスレッド数を推定できます。必要に応じてベンチマークをインストールして実行するために、現在のシステムにアクセスできます。
今後 3 か月間でこのアプリのワークロードが約 20 倍に増加し、24 時間時計で完了する必要があるというビジネス上の指示もあることに注意してください。
どんな助けでも大歓迎です。
これもここに投稿しました:http://www.passmark.com/forum/showthread.php?t=2308うまくいけば、ベンチマークをよりよく説明できるので、コアごとのスコアを効果的に取得できます。