Linux で実行されている C/C++ プログラムの観点から、デュアル CPU マシンでメモリがどのように見えるかについて少し混乱しています。
ケース1(了解)
1つのクアッドコア HT CPUと 32GB の RAM を使用すると、理論的には、最大 8 つのスレッドと最大 32GB の RAM を使用して、スレッド機能をスワップしたり過負荷にしたりすることなく、単一プロセスのアプリケーションを作成できます。OS やその他の機能は無視します。簡単にするためにここでプロセスを説明します。
ケース 2 (混乱)
64GB RAM が設定されたデュアル クアッドコア HT CPUではどうなりますか?
開発に関して、通信する 2 つのプロセス (8 スレッド、それぞれ 32GB) として実行するアプリケーションを作成する必要がありますか、それとも 1 つのプロセス (16 スレッド、64GB のフル メモリ) として作成できますか?
答えが前者の場合、ハードウェア全体を活用するための効率的な最新の戦略は何ですか? シム?IPC? また、プロセスごとに異なる CPU を使用するように Linux に指示するにはどうすればよいですか?