Парковка ядер многоядерных процессоров в Windows 7

Парковка ядер многоядерных процессоров в Windows 7



Одним из проблемных моментов современных многоядерных процессоров является их энергопотребление, для минимизации которого производители процессоров используют свои аппаратные технологии. Кроме того, производители процессоров дают рекомендации разработчикам операционных систем, за счет чего можно дополнительно снизить энергопотребление. При разработке Windows 7 и Windows 2008 R2 компания Microsoft прислушалась к таким рекомендациям от Intel.

Как известно, при работе на многоядерных процессорах, операционная система производит ротацию потоков  между ядрами. Другими словами, переносит поток с более загруженных на менее загруженные ядра, что обеспечивает равномерную загрузку всех ядер системы. Но такая постоянная ротация приводит к потере производительности и повышению  энергопотребления. Чтобы изменить ситуацию в Windows 7 и Windows 2008 R2, была реализована функция "идеального ядра", которая оставляет выполнение процесса на том ядре, на котором он начался, до полного его завершения. Такой подход позволяет получить более отзывчивую систему. Кроме того, с подходом "идеального ядра", была реализована функция "парковка ядер", позволяющая переносить все задачи на одно ядро, а остальные переводить в бездействие, если это позволяет уровень основной нагрузки. Соответственно, совместная работа двух функций позволяет минимизировать число использования ядер в режиме бездействия, что в свою очередь приведет к снижению энергопотребления и получению более отзывчивой системы.

*

Core Parking в конфигурации с минимальным энергопотреблением.

*

Работа Core Parking при возрастании вычислительной нагрузки.

Для отображения параметров парковки ядра в графическом интерфейсе панели управления необходимо импортировать в  реестр  следующие значения:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\5d76a2ca-e8c0-402f-a133-2158492d58ad]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\a55612aa-f624-42c6-a443-7397d064c04f]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\ea062031-0e34-4ff1-9b6d-eb1059334028]
"Attributes"=dword:00000000

После этого перейти в Панель управления -> Электропитание -> Настройка плана электропитания -> Изменить дополнительные параметры питания -> Управлением питания процессора и выставить следующие значения параметров:

* 

  • В Минимальное число ядер в состоянии простоя (Processor performance core parking min cores) - Установить 25% для четырех ядерного процессора - или 50% для двух ядерного процессора.
  • В Разрешить состояния снижения питания (Allow Throttle States) – Включить.
  • В Отключение простоя процессора (Processor idle disable) - Включить состояние простоя.
  • В Переопределение ядра приостановки ядра производительности процессора (Processor performance core parking core override) – Отключено.
  • В Максимальное число ядер в состоянии простоя (Processor performance core parking max cores) - Установить 75% для четырех ядерного процессора или 50% для двух ядерного процессора. 

Вызвав Монитор ресурсов через Диспетчер задач, на вкладке ЦП можно будет увидеть, что часть ядер припаркована. 

*

*** оригинал статьи http://www.oszone.net/10671/core_parking ***