Інженер у сфері робототехніки та машинного навчання розробив командний інтерфейс (CLI), який контролює енергоспоживання через розумну розетку та налаштовує продуктивність системи відповідно до тарифів на електроенергію.
Простий інструмент під назвою WattWise з’явився, коли розробник Навін зібрав робочу станцію з двома процесорами AMD EPYC та планував додати чотири графічні прискорювачі. Оскільки така система споживає багато енергії, він хотів контролювати її споживання за допомогою розетки Kasa Smart Plug.
На цей час Навін виклав у відкритий доступ лише частину проєкту, що відповідає за моніторинг, а функцію управління частотами процесора і споживаною потужністю планує додати пізніше.
Чому виникла потреба у WattWise?
На жаль, стандартний застосунок Kasa Smart та панель Home Assistant виявилися незручними та не виконували всіх необхідних функцій. Оскільки Навін уже використовував термінал для моніторингу через htop, nvtop та nload, він вирішив створити власний інструмент замість того, щоб користуватися ще однією програмою.
Він розробив термінальну програму, яка отримує дані про споживання енергії через Home Assistant і TP-Link. Вона відображає поточне навантаження в реальному часі (у ватах та амперах), будує історичні графіки споживання і, найголовніше, автоматично обмежує продуктивність процесора і відеокарти.
Енергопостачальник Навіна використовує диференційовану тарифікацію, коли електроенергія у години пік коштує значно дорожче. Його робоча станція споживає до 1400 Вт на повному навантаженні, але зниження частоти процесора з 3,7 ГГц до 1,5 ГГц дозволяє скоротити споживання приблизно на 225 Вт.
СпецпроєктиМийний пилотяг Dreame R10 Pro Aqua: швидкі насадки-швабри, підсвітка і 5 ступенів фільтраціїРозетка вже відкрила передзамовлення на ноутбуки MSI серії GeForce RTX 50
Про обмеження продуктивності відеокарт у проєкті поки що не згадується, хоча зниження їхньої частоти GPU могло б забезпечити ще більшу економію для чотирьох відеокарт.
Як працює WattWise?
Програма оптимізує тактову частоту на основі трьох параметрів:
- Навантаження системи
- Поточне енергоспоживання (зчитується з розумної розетки)
- Час доби (щоб враховувати пікові тарифи)
Далі використовується PI-регулятор (Пропорційно-інтегральний контролер) для керування живленням та адаптації системних параметрів відповідно до цих змінних.
Приклад роботи WattWise
Наразі WattWise підтримує лише одну розумну розетку одночасно і працює тільки з брендом Kasa. Проте Навін планує додати підтримку кількох розеток, інтеграцію з іншими брендами смарт-розеток, співпрацю з іншими інструментами управління енергоспоживанням та додаткові функції оптимізації продуктивності.
Навін зробив WattWise відкритим проєктом під ліцензією MIT, тож будь-хто може завантажити код з GitHub. Якщо вам цікаво, ви можете залишити зворотний зв’язок, запропонувати покращення або створити власну версію, адаптовану для інших систем.
Зверніть увагу, що поточна версія містить лише інтерфейс моніторингу, а функція автоматичного регулювання продуктивності ще перебуває у розробці.
Зараз WattWise – це досить простий інструмент, але часто саме прості рішення є найбільш ефективними.