![単一システム環境でNUMAトポロジを作成する方法](https://rvso.com/image/1585775/%E5%8D%98%E4%B8%80%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E7%92%B0%E5%A2%83%E3%81%A7NUMA%E3%83%88%E3%83%9D%E3%83%AD%E3%82%B8%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
単一システム環境 (virtualbox ubuntu 18.04 を使用しています) で NUMA トポロジ (2 つの NUMA ノードでも可) を作成できるかどうかを知りたいです。
を実行すると$numactl -H
、次のようになります
available: 1 nodes (0)
node 0 cpus: 0 1 2 3
node 0 size: 1992 MB
node 0 free: 477 MB
node distances:
node 0
0: 10
4 つのコアを持つシステムで 2 つの NUMA ノード (分散環境をシミュレートするためだけ) を作成することが本当に可能かどうか疑問に思っています。それとも、そのためには 4 つ以上のコアが必要ですか?
答え1
仮想化では、すべての VM に割り当てることができるコアの合計数はほぼ無限です。ただし、個々の VM に割り当てることができるコアの数は、ホスト上の論理コアの合計数を超えることはできません。
つまり、簡潔に言うと、ホストが処理できる限り多くの NUMA コアを作成できます。
ハイパーバイザは、スケジューラを使用して各 VM の CPU 命令をホストの CPU にキューイングします。セットアップする VM の数が増えると、ハイパーバイザのスケジューラを経由してホストの CPU に向かうキューが長くなるため、処理速度は低下しますが、失敗することはありません。CPU と最新のシステム アーキテクチャはキューを処理するように設計されています。これが、仮想化が非常に便利で強力な理由の 1 つです。仮想化により、ホストのキューが常にいっぱいになり、ホストのリソースをより効率的に使用できます。