VMWare ESXi и Hyperthreading
У меня есть (как некоторые, наверное, уже устали видеть на SF) двухъядерный процессор Dell 2950 с частотой 4 ГГц и ESXi. Я заметил на консоли управления VSphere, что сервер говорит, что у него не включена поддержка гиперпоточности ("неактивно")
Видимо по умолчанию он отключен в BIOS.
Я знаю, что могу закрыть все виртуальные машины, перезагрузить и отредактировать этот параметр, но должен ли я? Есть ли реальная выгода в том, чтобы включить гиперпоточность в этом типе установки, или прирост производительности незначительный, если таковой имеется?
3 ответа
Я только прочитал об этой теме несколько раз. Я нашел статью на www.vmguy.com, которая подводит итог консенсуса по этому вопросу ХТ (прямо из статьи):
Есть плюсы и минусы использования HT в ESX.
Pros
Лучшее совместное планирование SMP VM
Гиперпоточность обеспечивает больше контекстов ЦП, и из-за этого можно запланировать запуск виртуальных машин SMP в сценариях, в которых не было бы достаточно контекстов ЦП без гиперпоточности.
- Типичные приложения видят улучшение производительности в диапазоне 0-20% (так же, как и не виртуализированные рабочие нагрузки).
Cons
- Ресурсы процессора совместно используются с поддержкой Hyperthreading
Ресурсы процессора являются общими, например, кэш-память L2 и L3. Это означает, что два потока, работающие на одном и том же процессоре, конкурируют за одни и те же ресурсы, если они оба имеют высокий спрос на них. Это, в свою очередь, может ухудшить производительность.
Учитывая все это, сложно обобщить влияние производительности Hyperthreading на производительность. Это сильно зависит от рабочей нагрузки виртуальной машины. Еще одним моментом является то, что вы всегда можете использовать минимальные и максимальные значения ЦП для каждой виртуальной машины или пула ресурсов, чтобы зарезервировать определенные объемы ЦП для ваших наиболее важных рабочих нагрузок. Как и с большинством элементов производительности, я встречаю, тестирую, тестирую, тестирую. Попробуйте рабочие нагрузки и посмотрите, что лучше всего работает на имеющемся у вас оборудовании.
Опять же, это прямо из статьи. Я не уверен, что HT того стоит, так как я тоже использую AMD Opterons, поэтому не могу говорить по опыту.
Вы уверены, что ваши процессоры даже имеют HyperThreading на них? Я думаю, что большинство четырехъядерных процессоров этого не делают. Мои серверы ESX также сообщают, что HyperThreading "неактивен", и у меня есть процессоры AMD, на которых никогда не было HT.
Единственные процессоры Intel, поддерживающие Hyperthreading, - это архитектура Netburst (Pre Core\Core Duo) и самые последние процессоры на базе Nehalem (т.е. для серверов только Xeon 5500 на данный момент). Диапазон 2950 не поддерживает Xeon 5500, но он поддерживает более ранние диапазоны 5000, 5100,5200, 5300 и 5400 (точный поддерживаемый процессор немного варьируется между различными моделями 2950). Из тех, что только самые старые, серия 5000 (Dempsey) поддерживает Hyperthreading, так как она была основана на архитектуре Netburst.
Все Quad Core Xeon 5xxx основаны на архитектуре Core или Nehalem, поэтому в вашем случае ваши процессоры не поддерживают Hyperthreading.