C#.net 3.5アプリケーションの場合、ヒープ上に多くのデータを作成することは避けられませんが、ハードウェアに関してはメモリの点で何を探していますか?それはちょうど最大のソケットバス幅ですか?または、メモリの "帯域幅"がついていますか?または実際に実行される頻度は?ヒープ割り当てと適切なハードウェア
私たちのアプリケーションのボトルネックは避けられないと結論づけました。スケールアップすると、RAMにアクセスするスレッドが多いため、複数のスレッドに作業が広がっているように見えます。
実際の問題は、アイテムをロックし、これらのアイテムにアクセスしようとするスレッドが多数あることを指します。スレッドロックをさらに最適化する方法はありません。これはスレッディングに関するものなので、代替CPUの選択を検討し、QPI統計を詳しく調べるべきかどうかは不明でした。現在、Westmereアーキテクチャを使用していますが、クロック速度は2GHzです。
EDIT:DMAが私たちを助けることができます。
私はこれがC#とJavaとタグ付けするつもりですが、答えはC#固有ではないと考えています。事前に
おかげで、
いくつのCPUがありますか? –
ロックをさらに最適化する方法がないことをどう知っていますか? – DNA
@Henk、8x論理コアの4倍の物理CPU(4x Xeon x7550) – mezamorphic