Оптимизация энергопотребления ПК: новая платформа WattWise для умного контроля производительности

Инженер в области робототехники и машинного обучения Навин Куландаивелу (Naveen Kulandaivelu) выпустил открытый проект под названием WattWise, созданный для мониторинга потребления энергии умных розеток в реальном времени. Это можно делать как напрямую, так и через Home Assistant. Инструмент также позволяет регулировать производительность ПК и серверов в зависимости от цены на электроэнергию и периодов пиковой нагрузки. Исходный код написан на Python и доступен на GitHub с лицензией MIT.

Куландаивелу собрал двухсокетную рабочую станцию на базе AMD EPYC и изначально планирует добавить четыре графических процессора. Поскольку это энергозатратная установка, он захотел найти способ контролировать ее потребление электроэнергии через интеллектуальную розетку TP-link Kasa EP25 Smart Plug.

Разработчик обнаружил, что стандартные функции приложения Kasa Smart и Home Assistant оказались неудобными и не удовлетворяли всем его требованиям. У него уже работало окно терминала с рядом инструментов мониторинга, таких как htop, nvtop и nload, и он решил создать собственное решение, вместо того чтобы сталкиваться с очередным неэффективным приложением.

Таким образом, Куландаивелу разработал терминальный интерфейс, отображающий данные о потреблении электроэнергии через Home Assistant и интеграцию с TP-link Kasa EP25 Smart Plug. Проект использует динамическую цветовую индикацию: зелёный для потребления менее 300 Вт, жёлтый для 300-1200 Вт и красный для значений выше 1200 Вт.

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

Кроме того, инструмент WattWise предназначен для автоматического регулирования производительности ЦП и ГП. Поставщик электроэнергии Куландаивелу применяет тарифы, основанные на времени использования (ToU), поэтому высокие затраты на электроэнергию в часы пик могут значительно увеличивать расходы. Его рабочая станция может потреблять до 1400 Вт при полной нагрузке, но, уменьшив частоту ЦП с 3,7 ГГц до 1,5 ГГц, разработчик смог снизить потребление примерно на 225 Вт.

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

Эффективность работы WattWise может варьироваться в зависимости от используемого оборудования, и, конечно, сервера могут потреблять гораздо больше энергии, чем обычные настольные компьютеры — даже с учетом их игрового назначения. Автор планирует интегрировать в проект функции более точного регулирования производительности GPU, что может привести к дополнительной экономии энергии в часы пик.