Что означает максимум ядра vSphere 8?
Я настраиваю программное обеспечение, для работы которого потребуется около 12 ядер, но я запускаю его на виртуальной машине vSphere, то есть можно настроить не более 8 (виртуальных) ядер.[1] Физическая машина, на которой она будет работать, имеет 24 доступных ядра и содержит только одну другую виртуальную машину. Эта виртуальная машина имеет 8 выделенных ядер.
Так как моя машина имеет 8 ядер, а другая машина имеет 8 ядер, это означает, что 8 ядер, по-видимому, остаются полностью простаивающими. Это кажется неправильным.
Я предполагаю, что VMWare сделал что-то умное - хотя я могу выделить только 8 ядер для моей машины, на самом деле, если на бэкэнде 24 ядра, я гарантированно получу 8 из них, но может использовать 24 из них, если никакая другая машина не использует их.
Я читал о совместном использовании в vSphere,[2], но это немного над моей головой.
Кто-нибудь может объяснить, как это работает?
Изменить: это объяснение, которое мне дали о пределе 8 CPU, но я должен подтвердить это.
vSphere использует динамическую балансировку нагрузки процессора, которая позволяет каждому назначенному ядру в гостевом доступе ко всем ядрам на хосте. В то время как гостевая ОС будет видеть только 8 физических процессоров, каждый процессор имеет доступ к пулу из 24 ядер. Это очень похоже на работу мэйнфрейма.
Это намекает на то, что 8 ядер ведут себя как 24 ядра, но теперь это просто кажется неправильным. Это?
Рекомендации:
3 ответа
Это означает, что на вашей виртуальной машине никогда не будет параллельно выполняться более 8 потоков. Тем не менее, с помощью магии выделения ресурсов ESX вы можете дать этим потокам немного энергии. Вы не ограничены максимальной частотой ваших реальных процессоров, методы балансировки нагрузки на процессоры ESX позволят работать быстрее, чем это... до тех пор, пока то, что вы делаете с ним, может сделать это немного не по порядку,
Это достигается путем использования структуры очереди для ресурсов процессора. Работа распределяется на несколько процессоров по мере необходимости. Один vCPU может выполняться на любом из физических процессоров в системе (или процессоров в локальном узле, если в системе NUMA). Достижение производительности vCPU, превышающей производительность физического ЦП, достигается путем распределения работы от одного виртуального ЦП к нескольким физическим ЦП параллельно или, по крайней мере, очень близко друг к другу.
Когда приходит время собирать работу, возвращаемую несколькими ЦП, для эмуляции одного виртуального ЦП, виртуальная машина выглядит как единый ЦП, работающий очень быстро. ESX собирает несколько рабочих блоков в правильном порядке.
Конечно, не все рабочие нагрузки хорошо подходят для этого. Задания, которые представляют много итеративной работы, которая слабо связана друг с другом, если вообще, возможно, является лучшим случаем для этого. Задания, включающие множество тесных зависимостей с более ранними инструкциями, такими как рекурсивные вызовы криптоалгоритмов, не смогут масштабироваться почти так же далеко.
vSphere 4.0 имеет жесткое ограничение в 8 виртуальных ЦП. Это все, что он будет использовать, и это довольно разумный предел. vSphere больше подходит для обработки множества гостевых виртуальных машин на хосте, а не только для пары. Возможно, вы захотите узнать, можете ли вы кластеризовать 3-6 виртуальных машин вместо двух.
Это связано с тем, как они лицензируют свое программное обеспечение. Вы получаете столько энергии бесплатно. Если вы хотите больше, вы должны заплатить за это. http://www.vmware.com/download/eula/multicore.html