私はc++で書かれた既存のアプリケーションを持っており、現在、すべての顧客のデータベースからトランザクションを読み取り、それらを処理して結果を書き戻すという、いくつかのタスクを実行しています。
私がやりたいのは、アプリの各バージョンに顧客の特定のサブセットを割り当てて、競合やデータ共有が不要になるようにすることで、トランザクション容量を増やすために、これの複数のバージョンを別々のマシンで並行して実行することです。同期。
私がやりたいのは、同じマシン上で複数のバージョンを実行し、他のマシンに分散させることです。したがって、クアッドコアボックスがある場合、アプリケーションの4つのインスタンスが実行され、それぞれがCPUの1つを利用します。
c++コードを.NETc#インターフェイスでラップし、これらすべてのプロセスを管理します。プロセスの作成、開始、停止、およびプロセス間のすべての通信と管理を担当する親c#管理サービスからローカルおよび分散されます。
私が知りたいのは、クアッドコアボックスの個別のバックグラウンドスレッドにそれぞれ4つのインスタンスを作成するかどうか、CLRと.NETが各ボックスの4つのCPUに負荷を自動的に分散するかどうか、または必要かどうかです。並列処理機能を利用するために何かをするために?