Поделиться через


Настройка управления питанием процессора (PPM) для плана сбалансированного энергопотребления Windows Server

Начиная с Windows Server 2008 Windows Server предоставляет три плана питания: Balanced, High Performance и Power Saver. Балансированный план питания — это выбор по умолчанию, который направлен на то, чтобы обеспечить оптимальную энергоэффективность для набора типичных рабочих нагрузок сервера. В этом разделе описываются рабочие нагрузки, которые использовались для определения параметров по умолчанию для схемы Balanced за последние несколько выпусков Windows.

Если вы запускаете серверную систему, которая имеет значительно разные характеристики рабочей нагрузки или требования к производительности и производительности, чем эти рабочие нагрузки, может потребоваться настроить параметры питания по умолчанию (т. е. создать пользовательский план питания). Одним из источников полезных сведений о настройке является вопросы энергопотребления аппаратного обеспечения сервера. Альтернативно вы можете решить, что план высокой производительности является правильным выбором для вашей среды, признавая, что, вероятно, увеличится энергопотребление в обмен на некоторый уровень повышения отзывчивости.

Это важно

Вы должны использовать политики питания, включенные в Windows Server, если у вас нет конкретной необходимости создать пользовательскую и иметь очень хорошее представление о том, что результаты будут отличаться в зависимости от характеристик рабочей нагрузки.

Методология настройки питания процессора Windows

Тестированные рабочие нагрузки

Рабочие нагрузки выбираются для обеспечения оптимального набора "типичных" рабочих нагрузок Windows Server. Очевидно, что этот набор не предназначен для представления всего спектра сред серверов реального мира.

Настройка каждой политики питания — это данные, управляемые следующими пятью рабочими нагрузками, запущенными с Windows Server 2008

  • Рабочая нагрузка веб-сервера IIS

    Внутренний тест Майкрософт под названием Web Fundamentals используется для оптимизации энергоэффективности платформ, работающих на веб-сервере IIS. Программа установки содержит веб-сервер и несколько клиентов, которые имитируют трафик веб-доступа. Распределение динамических, статических горячих (в памяти) и статических холодных (необходимых для доступа к диску) веб-страниц основано на статистических исследованиях рабочих серверов. Чтобы задействовать ядра ЦП сервера на полную мощность (один конец протестированного спектра), настройка требует достаточно быстрых сетевых и дисковых ресурсов.

  • Рабочая нагрузка базы данных SQL Server

    Тест TPC-E — это популярный тест для анализа производительности базы данных. Он используется для создания рабочей нагрузки OLTP для оптимизации настройки PPM. Эта рабочая нагрузка имеет значительный объем операций ввода-вывода диска и поэтому имеет высокую производительность для системы хранения и размера памяти.

  • Рабочая нагрузка файлового сервера

    Разработанный корпорацией Майкрософт тест с именем FSCT используется для создания рабочей нагрузки файлового сервера SMB. Он создает большой набор файловых данных на сервере и использует несколько клиентских систем (фактических или виртуализированных) для выполнения операций открытия, закрытия, чтения и записи. Сочетание операций основано на статистических исследованиях рабочих серверов. Он нагружает ресурсы ЦП, диска и сети.

  • SPECpower — рабочая нагрузка JAVA

    SPECpower_ssj2008 является первым отраслевым стандартом SPEC benchmark, который совместно оценивает характеристики энергопотребления и производительности. Это рабочая нагрузка Java на стороне сервера с различными уровнями загрузки ЦП. Он не требует большого количества дисков или сетевых ресурсов, но имеет определенные требования к пропускной способности памяти. Почти все действия ЦП выполняются в пользовательском режиме; Активность в режиме ядра не оказывает большого влияния на производительность и производительность эталонов, за исключением решений по управлению питанием.

  • Рабочая нагрузка Application Server

    Тест SAP-SD используется для создания рабочей нагрузки сервера приложений. Используется двухуровневая настройка с базой данных и сервером приложений на одном узле сервера. Эта рабочая нагрузка также использует время отклика в качестве метрики производительности, которая отличается от других тестированных рабочих нагрузок. Таким образом, он используется для проверки влияния параметров PPM на скорость реагирования. Тем не менее, он не предназначен для представительства всех рабочих нагрузок, чувствительных к задержкам.

Все тесты, кроме SPECpower, изначально предназначены для анализа производительности и поэтому были созданы для выполнения на пиковых уровнях нагрузки. Однако средний и легкий уровень нагрузки более распространен для реальных рабочих серверов и более интересен для оптимизации плана Balanced . Мы преднамеренно запускаем тесты производительности на различных уровнях нагрузки от 100% до 10% (с шагом в 10% единиц) с использованием различных методов ограничения, например, уменьшая число активных пользователей/клиентов.

Приведенные выше рабочие нагрузки используют пропускную способность в качестве метрики производительности для настройки. Во время установившегося состояния пропускная способность не изменяется при различных уровнях использования, пока система не будет перегружена (~100 % загрузки%). В результате сбалансированный план питания отдает предпочтение энергопотреблению, значительно минимизируя частоту процессора и максимизируя использование. Начиная с Windows Server 2016, требование быстрого реагирования значительно увеличилось. Несмотря на то, что корпорация Майкрософт предложила пользователям перейти на план высокой производительности питания, когда им требуется быстрое время отклика, некоторые пользователи не хотят терять преимущество питания во время легких до средних уровней нагрузки. Поэтому настройка Windows Server PPM также включает рабочие нагрузки с учетом времени отклика для настройки.

  • ГикБенч

    GeekBench — это кроссплатформенный тест процессора, который разделяет оценки производительности с одним ядром и несколькими ядрами. Он имитирует набор рабочих нагрузок, включая целые рабочие нагрузки (шифрование, сжатие, обработку изображений и т. д.), рабочие нагрузки с плавающей запятой (моделирование, фрактальное, резкое изображение, размытие изображений и т. д.) и рабочие нагрузки памяти (потоковая передача).

    Время отклика является основной мерой в расчете оценки. В нашей тестируемой системе Windows Server 2008 план электропитания «Сбалансированный» по умолчанию имеет ~18% регрессию в одноядерных тестах и ~40% регрессию в многоядерных тестах по сравнению с планом высокой производительности. Windows Server 2016 удаляет эти регрессии.

  • ДискSpd

    Diskspd — это средство командной строки для проверки производительности хранилища, разработанное корпорацией Майкрософт. Она широко используется для создания различных запросов к системам хранения для анализа производительности хранилища.

    Мы настроили [отказоустойчивый кластер] и использовали Diskspd для создания случайных и последовательных операций ввода-вывода, а также чтения и записи IOS в локальные и удаленные системы хранения с различными размерами операций ввода-вывода. Наши тесты показывают, что время отклика ввода-вывода учитывает частоту процессора в различных планах питания. Стандартный план электропитания Windows Server 2008 "Balanced" может удвоить время отклика по сравнению с планом электропитания "Высокой производительности" при определённых рабочих нагрузках. План питания Windows Server 2016 Balance удаляет большую часть регрессии.

Это важно

Начиная с процессоров Intel [Broadwell], работающих под управлением Windows Server 2016, большинство решений по управлению питанием процессора принимаются на процессоре, а не на уровне ОС, чтобы обеспечить более быструю адаптацию к изменениям рабочей нагрузки. Устаревшие параметры PPM, используемые ОС, оказывают минимальное влияние на фактические решения о частоте, за исключением указания процессору, следует ли отдавать предпочтение мощности или производительности, или ограничения минимальных и максимальных частот. Таким образом, результаты настройки PPM, упомянутые здесь, наблюдаются только в системах pre-Broadwell.

Конфигурации оборудования

Для каждого выпуска Windows самые текущие рабочие серверы используются в процессе анализа и оптимизации плана питания. В некоторых случаях тесты выполнялись в предварительных системах, расписание выпуска которых соответствовало следующему выпуску Windows.

Учитывая, что большинство серверов продаются с 1 до 4 процессорными сокетами, и поскольку масштабируемые серверы менее вероятно имеют энергоэффективность как главную задачу, тесты оптимизации плана питания в основном выполняются в системах с 2 и 4 сокетами. Объем ОЗУ, диска и сетевых ресурсов для каждого теста выбирается таким образом, чтобы позволить каждой системе работать до полной нагрузки, учитывая ограничения затрат, которые обычно применяются в реальных условиях серверных сред, например, поддержание разумных конфигураций.

Это важно

Несмотря на то, что система может работать при пиковой нагрузке, мы обычно оптимизируем ее для более низких уровней нагрузки, так как серверам, которые постоянно работают на максимальной мощности, рекомендуется использовать план электропитания Высокая производительность, если только приоритет не отдается энергоэффективности.

Метрики

Все тестовые тесты используют пропускную способность в качестве метрики производительности. Время отклика рассматривается как требование об уровне обслуживания для этих рабочих нагрузок (за исключением SAP, где это основная метрика). Например, выполнение теста считается допустимым, если среднее или максимальное время отклика меньше определенного значения.

Поэтому анализ настройки PPM также использует пропускную способность в качестве метрики производительности. На самом высоком уровне нагрузки (100% загрузке ЦП), наша цель заключается в том, что пропускная способность не должна уменьшаться более чем на несколько процентов из-за оптимизации управления питанием. Но основное внимание заключается в том, чтобы максимально повысить эффективность питания (как определено ниже) на средних и низких уровнях нагрузки.

Формула энергоэффективности

Запуск ядер ЦП на более низкой частоте снижает потребление энергии. Однако более низкие частоты обычно снижают пропускную способность и увеличивают время отклика. Для сбалансированного плана питания существует преднамеренный компромисс с скоростью реагирования и эффективностью питания. Тесты рабочей нагрузки SAP, а также SLA времени отклика для других рабочих нагрузок, гарантируют, что увеличение времени отклика не превышает определенное пороговое значение (например, 5%) для указанных рабочих нагрузок.

Замечание

Если рабочая нагрузка очень чувствительна к времени отклика, система должна переключиться на план питания высокой производительностиили изменить план балансировки питания, чтобы очень агрессивно увеличить частоту при запуске.

Параметры плана сбалансированного электропитания по умолчанию в Windows Server

Начиная с процессоров Intel Broadwell под управлением Windows Server 2016, управление питанием Windows Server по умолчанию использует аппаратно управляемые P-состояния Intel (HWP) в системах Intel. HWP — это новая возможность совместного управления производительностью оборудования и программного обеспечения. При включении HWP, процессор отслеживает активность и масштабируемость и выбирает частоту на уровне времени оборудования. ОС больше не требуется для мониторинга действий и выбора частоты с регулярными интервалами. Переход на HWP имеет несколько преимуществ, таких как быстрый ответ, лучшее знание аппаратной эффективности процессоров и других компонентов в TDP.

Для системы HWP Windows по-прежнему имеет возможность задать минимальные и максимальные состояния процессора для предоставления ограничений. Он также может использовать параметр энергопотребления (EPP) для настройки баланса между питанием и производительностью. Более низкое значение способствует производительности, а более высокое значение благоприятует власти. Значение по умолчанию 50 для балансировки мощности и производительности.

Параметр Windows Server 2012R2 и раньше Windows Server 2016 и после
Включено HWP Не применимо Intel Broadwell+
Предпочтения в области производительности энергии Не применимо 50

Для систем Intel до Broadwell или любых систем, которые не поддерживают HWP (например, серверов AMD), Windows по-прежнему находится в полном контроле и определяет частоту процессора на основе параметров PPM. Параметры PPM по умолчанию в Windows Server 2012R2 слишком ориентированы на экономию энергии, что может значительно повлиять на производительность рабочей нагрузки, особенно для нагрузки с резкими всплесками активности. Четыре параметра PPM были изменены в Windows Server 2016 RS2, чтобы частота увеличивалась быстрее вокруг среднего уровня нагрузки.

Параметр Windows Server 2016 (RS1) и раньше Windows Server 2016 (RS2) и после
Пороговое значение повышения производительности процессора девяносто шестьдесят
Пороговое значение снижения производительности процессора 80 40
Время увеличения производительности процессора 3 1
Политика повышения производительности процессора Один Идеальный

Алгоритмы управления мощностью на базе использования процессора могут негативно повлиять на задержку при рабочих нагрузках, интенсивно использующих ввод-вывод или сеть. Логический процессор может быть неактивным во время ожидания завершения ввода-вывода или сетевых пакетов, что делает общее использование ЦП низким. Чтобы устранить эту проблему, Windows Server 2019 автоматически обнаруживает период отклика операций ввода-вывода и повышает уровень частоты до более высокого уровня. Поведение можно настроить следующими параметрами независимо от того, использует ли система HWP или нет.

Параметр До Windows Server 2019 Windows Server 2019 и после
Пороговое значение включения переопределения скорости реагирования процессора Не применимо 10
Переопределение скорости реагирования процессора отключает пороговое значение Не применимо 5
Время активации переопределения отзывчивости процессора Не применимо 1
Время отключения переопределения отзывчивости процессора Не применимо 3
Потолок предпочтения производительности процессора переопределяется Не применимо 100
Скорость реагирования процессора переопределяет уровень производительности Не применимо 100

Настраиваемые предложения по настройке

Если характеристики вашей основной рабочей нагрузки значительно отличаются от пяти рабочих нагрузок, используемых для настройки PPM сбалансированного плана питания по умолчанию, вы можете поэкспериментировать, изменив один или несколько параметров PPM, чтобы найти оптимальный вариант для вашей среды.

Из-за количества и сложности параметров это может быть сложной задачей, но если вы ищете лучший компромисс между потреблением энергии и эффективностью рабочей нагрузки для вашей конкретной среды, это может быть стоит усилий.

Полный набор параметров PPM можно найти в настройке управления питанием процессора. Некоторые из простых параметров питания для начала могут быть следующими:

Для системы с поддержкой HWP:

  • Предпочтение к производительности энергии — больше значений, поддержку энергии больше, чем производительность

Для системы, отличной от HWP:

  • Увеличение порогового значения производительности процессора и увеличение времени увеличения производительности процессора — более крупные значения замедляют отклик perf на увеличение активности.

  • Пороговое значение уменьшения производительности процессора — большие значения ускоряют отклик питания на периоды простоя

  • Время уменьшения производительности процессора — большее число значений постепенно уменьшается за период простоя

  • Политика повышения производительности процессора — Политика "Одиночный" замедляет ответ на увеличение и устойчивое действие; Политика "Ракета" быстро реагирует на увеличение активности

  • Политика уменьшения производительности процессора — политика "Одиночная" более постепенно снижает производительность в течение длительных периодов простоя; Политика "Ракета" очень быстро уменьшает мощность при начале периода простоя.

Это важно

Прежде чем запускать эксперименты, необходимо сначала понять рабочие нагрузки, которые помогут вам выбрать правильный параметр PPM и сократить усилия по настройке.

Общие сведения о высокоуровневых требованиях к производительности и мощности

Если рабочая нагрузка "в режиме реального времени" (например, подвержена сбою или другим видимым последствиям для конечных пользователей) или имеет очень жесткое требование к реагированию (например, фондовый брокер), а если потребление энергии не является основным критерием для вашей среды, вы, вероятно, должны просто перейти к плану высокой производительности питания. В противном случае необходимо понять требования к времени отклика для рабочих нагрузок, а затем настроить параметры PPM для оптимальной эффективности питания, которая по-прежнему соответствует этим требованиям.

Понимание базовых характеристик рабочей нагрузки

Вы должны знать рабочие нагрузки и разрабатывать наборы параметров эксперимента для настройки. Например, если частоты ядер ЦП нужно быстро увеличить (возможно, у вас есть нагрузка с всплесками активности и значительными периодами простоя, но вам требуется очень быстрая скорость реагирования при возникновении новой транзакции), то политика повышения производительности процессора может быть задана как "ракета" (которая, как подразумевает название, повышает частоту ядра ЦП до максимального значения, а не делает это постепенно в течение определенного периода времени).

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

Если вы просто хотите увеличить частоту ЦП на средних уровнях использования (т. е. не легких уровней рабочей нагрузки), то пороговые значения производительности процессора можно изменить, чтобы не реагировать до тех пор, пока не будут наблюдаться определенные уровни активности.

Поймите периодическое поведение

Существуют разные требования к производительности для дневного и ночного времени или в выходные дни, или могут быть разные рабочие нагрузки, выполняемые в разное время. В этом случае один набор параметров PPM может быть неоптимальным для всех периодов времени. Так как можно разработать несколько пользовательских планов питания, можно даже настроить разные периоды времени и переключаться между планами питания с помощью сценариев или других средств динамической конфигурации системы.

Опять же, это добавляет к сложности процесса оптимизации, поэтому вопрос о том, сколько значений будет получено из этого типа настройки, что, скорее всего, потребуется повторить при наличии значительных обновлений оборудования или изменений рабочей нагрузки.

Именно поэтому Windows предоставляет план балансировки питания в первую очередь, так как во многих случаях это, вероятно, не стоит усилий ручной настройки для определенной рабочей нагрузки на определенном сервере.

См. также