
Инженер по робототехнике и машинному обучению разработал инструмент командной строки WattWise, который отслеживает энергопотребление через умную розетку и регулирует производительность системы в зависимости от тарифов на электричество.
Проект появился, когда разработчик по имени Навин собрал рабочую станцию на двух процессорах EPYC и планировал установить четыре видеокарты. Это энергозатратная система, поэтому он решил отслеживать потребление с помощью розетки Kasa Smart Plug. Однако стандартные приложения розетки были неудобными и не позволяли автоматизировать управление питанием, поэтому он создал собственное решение.
Интерфейс WattWise работает прямо в терминале и показывает потребляемую мощность в реальном времени, а также историю потребления в виде графиков. Главное, что утилита умеет автоматически снижать производительность процессора и видеокарт в зависимости от нагрузки и цен на электроэнергию.

Поскольку поставщик энергии Навина использует тарифы Time-of-Use (ToU), электричество в часы пик стоит дороже. Его рабочая станция может потреблять до 1400 Вт, но снижение частоты процессора с 3,7 ГГц до 1,5 ГГц сокращает потребление примерно на 225 Вт. GPU-троттлинг в текущей версии не реализован, но в системе с четырьмя видеокартами это могло бы дать еще большую экономию.
Механизм оптимизации основан на ПИ-регуляторе (Пропорционально-интегральный), который анализирует три параметра: текущую нагрузку, энергопотребление и время суток (учитывая тарифы). На основе этих данных WattWise динамически подстраивает параметры системы.
Пока программа поддерживает только одну розетку Kasa, но в планах добавление поддержки других моделей, интеграция с дополнительными инструментами управления питанием и новые функции.
Исходный код WattWise опубликован на GitHub. Сейчас доступна только панель мониторинга, а модуль, регулирующий тактовые частоты, еще дорабатывается.
Ранее мы рассказывали, что владельцы Windows-ноутбуков на базе Snapdragon массово сдают их обратно. Вероятно, из-за проблем с совместимостью ПО, вызванных Snapdragon X Elite.