Как создать топологию NUMA в единой системной среде
Я хочу знать, возможно ли создать топологию NUMA (2 узла NUMA также хороши) в одной системной среде (я использую virtualbox ubuntu 18.04).
Когда я бегу $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
Мне было интересно, действительно ли возможно создать два узла NUMA (только для моделирования распределенной среды) в системе, имеющей 4 ядра. Или для этого нужно иметь более четырех ядер?
1 ответ
При виртуализации общее количество ядер, которое вы можете назначить всем виртуальным машинам, практически бесконечно. Но количество ядер, которое вы можете назначить каждой отдельной виртуальной машине, не может превышать общее количество логических ядер на хосте.
Итак, вкратце: да, вы можете создать столько ядер NUMA, сколько сможет обработать ваш хост.
Гипервизоры используют планировщик для постановки в очередь инструкций ЦП каждой виртуальной машины к ЦП хоста. Чем больше виртуальных машин вы устанавливаете, тем больше у вас длинная очередь, идущая через планировщик гипервизора в центральный процессор, что означает замедление работы, но не сбой. Процессоры и современные системные архитектуры предназначены для обработки очередей, и это на самом деле одна из причин, почему виртуализация является такой полезной и мощной вещью: она делает очередь на хосте более заполненной больше времени, более эффективно используя ресурсы хостов.