Как мы уже недавно писали, одной из новых возможностей VMware vSphere 5.5 стали функции расширенного управления электропитанием серверов vSphere Host Power Management (HPM). Ранее о таких функциях на платформе VMware vSphere мы рассказыали вот тут.
HPM - это совокупность техник, позволяющих оптимизировать потребление электроэнергии хостом VMware ESXi, когда он находится в состоянии простоя или пониженной нагрузки.
Управление электропитанием происходит через интерфейс Advanced Configuration and Power Interface (ACPI), который позволяет управлять состояниями P-states и C-states. В VMware vSphere 5.0/5.1 дефолтная политика управления питанием была основана на технологии dynamic voltage and frequency scaling (DVFS).
Эта технология использует P-states процессора, что позволяет экономить некоторое количество энергии за счет поддержки процессора на более низкой частоте и напряжении. Но, начиная с VMware vSphere 5.5, политика HPM использует расширенный набор состояний halt states (они же C-states) в дополнение к DVFS. Это намного больше увеличивает экономию энергии при сохранении хорошей производительности, так как состояния C-states процессора почти не сказываются на его производительности, а питания потребляют значительно меньше (а иногда производительность даже растет, особенно для легких и средних нагрузок без большого потока операций ввода-вывода).
Так как теперь ESXi использует весь спектр возможностей по управлению питанием хоста, то в BIOS большинства серверов нужно предоставить гипервизору полномочия на действия по оптимизации энергопотребления процессора. По умолчанию на большинстве серверов такие функции выключены.
Для того чтобы их включить, например, в серверах HP нужно в BIOS зайти в Power Management Options -> HP Power Profile и выбрать пункт Custom. Затем нужно зайти в Power Management Options->HP Power Regulator, где выбрать пункт OS Control Mode.
Для управления глубокими режимами C-states (C1/C1E, C3 и C6) нужно также разрешить их использование со стороны программного обеспечения в BIOS сервера:
Для VMware HPM есть 4 различных политики электропитания:
High Performance - в этом состоянии процессор находится в самом высоком P-state все время, а для C-states используется всего 2 режима: running и halted. Это дефолтная политика для vSphere 5.0 и более ранних версий.
Balanced - вот эта политика и позволяет использовать как P-states для экономии питания, так и, начиная с vSphere 5.5, C-states, выбор которых производится на основе оценки со стороны ESXi с использованием статистического прогноза на время простоя процессора.
Low Power - в этом режиме хост делает все, чтобы снизить потребление энергии, используя алгоритмы P-states и C-states состояний.
Custom - по умолчанию эта политика выставлена как Balanced, но ее уже можно крутить для получения нужного результата.
Для политики Custom есть несколько интересных параметров, которые можно покрутить, если очень хочется (их число по сравнению с прошлой версией ESXi возросло):
По результатам тестов использование C-states для режима Turbo mode дает существенный прирост производительности (при том, что само по себе включение турбо-режима прироста почти не дает):
А вот как использование deep C-states позитивно влияет на потребление электроэнергии:
Интересный график экономии питания в зависимости от нагрузки хост-сервера - получается, что максимальная эффективность у HPM - до 30% загрузки CPU: