Назад | Перейти на главную страницу

Вычислительная мощность и распределение ядер в виртуальной машине

Я хотел бы знать, как можно использовать всю мощность ЦП, выделяя меньшее количество ядер по сравнению с физическим количеством ядер в виртуальной машине.

Я имею в виду:

Допустим, у нас есть сервер с 16 физических ядра (32 потока).

Если я создам одну виртуальную машину и сделаю виртуальный процессор 8 виртуальных ядер будет ли у меня ограничена вычислительная мощность 8 физических ядер или уровень виртуальной машины позволит полностью использовать вычислительную мощность или все 16 физических ядер?

Как это работает в VM-Ware по сравнению с Hyper-V?

Я знаю, что некоторые пользователи VM-Ware сказали, что использование виртуальных сокетов или виртуальных ядер не влияет на производительность виртуальной машины, но справедливо ли это в этом сценарии? И то же самое в случае с Hyper-V?

НЕТ, невозможно. Обычно виртуальные машины распределяют нагрузку на доступные ядра - они не меняют способ работы ядра. У вас не получится волшебным образом получить более быстрые ядра, используя меньшее количество ядер в виртуальной машине - в вашем примере у вас будет 8 физических ядер при полной нагрузке, а 8 ничего не будут делать.

Виртуализация, как обычно доступная, заключается в разделении машины на несколько виртуальных машин. Есть некоторые редкие породы, которые могут «прозрачно» объединять компьютеры в более мощный компьютер (требуя очень специального сетевого оборудования). Но ничто иное, как полная эмуляция, не смогло бы объединить ядра - и я не знаю ни одного единственного подхода к виртуализации, даже если бы я пытался пойти по этому пути.