LinuxでNUMAを使用するときに「問題」はありますか?

LinuxでNUMAを使用するときに「問題」はありますか?

2ソケットCPUを搭載した新しいシステムがあります。 NUMAシステムを使用すると、プロセッサ0のアプリケーションがプロセッサ1に接続されているメモリにアクセスしようとすると、ボトルネックが発生する可能性があると聞きました。 Linuxカーネルは、NUMAシステムで動作するソフトウェアをどのように処理しますか?

  • 可能であれば、カーネルが(自動的に)すべてのアプリケーションスレッドとメモリを1つのCPUに配置する優先順位を設定しますか?
  • アプリケーションが多くのCPUを使用し、1つのCPUで使用できるコア数よりも多くのスレッドを作成した場合はどうなりますか?
  • 仮想マシンはどうですか?
    • 単一のCPUがアクセス可能なリソースより少ないリソースを使用するKVM仮想マシンを作成する場合(コアとメモリの両方が利用可能なリソースよりも小さい場合)、デフォルトで最適に機能するか、手動で仮想マシンのアフィニティを設定する必要があります。しますか?または何か?
    • 複数のCPUリソースを使用するVMが必要ですが、NUMAをエミュレートする場合はどうすればよいですか?期待どおりに動作しますか?
  • bog Standard Ubuntuまたはcentosがインストールされている場合にNUMAをサポートするにはどうすればよいですか?

この質問はかなり一般的な質問のようですが、NUMAの仕組みについてはよくわかりませんでした。

関連情報