← Назад к проектам

adaptive-powerd: агентно-управляемый контроллер питания

Rust-контроллер питания и температуры для Linux-рабочей станции: режим компиляции, тихое охлаждение в простое, типизированные защитные состояния, cgroup-ограничения и JSON-статус для агентной эксплуатации.

Этот кейс доказывает инфраструктурную оркестрацию на уровне машины: производительность, шум, тепловая безопасность, давление cgroup и восстановление описаны типизированной политикой, а не ручными ритуалами настройки.

типизированные режимы
Состояния политики
через cgroup
Контракт сборки
восстановимый latch
Тепловая защита
> Закрытый репозиторий. Доступен для просмотра кода по запросу.

▍ Проблематика

AI-first разработка создаёт всплески тяжёлой Rust-компиляции, браузерной автоматизации, медиа-обработки и долгих локальных агентных сессий. Рабочую станцию нельзя один раз настроить и забыть.

  • Конфликт приоритетов: Одна и та же машина должна быстро собирать код во время компиляции и оставаться тихой и прохладной в простое.
  • Запоздалый человеческий сигнал: Если пользователь первым замечает подвисания или скачки вентиляторов, системе не хватает машинно-читаемой поверхности здоровья.
  • Опасные защитные состояния: Тепловая защита должна быть строгой, но восстановимое событие перегрева не должно навсегда убивать обычное управление.
  • Конкуренция ресурсов: Компиляторы, активная работа за рабочим столом и фоновые агенты требуют явных cgroup-границ вместо ручного контроля процессов.

▍ Архитектура

СЕНСОРЫ
  температура hwmon | PWM вентилятора | давление cgroup | рабочие slice
          ↓
ДВИЖОК ПОЛИТИКИ
  охлаждение простоя | режим компиляции | capped-режим | защитные состояния
          ↓
ДЕЙСТВИЯ
  CPU governor | EPP | PWM вентилятора | CPU/RAM-лимиты cgroup
          ↓
ОБРАТНОЕ ЧТЕНИЕ
  JSON-статус | структурные события | регрессионные тесты | systemd watchdog

▍ Операционные доказательства

типизированные режимы
Состояния политики
через cgroup
Контракт сборки
восстановимый latch
Тепловая защита
JSON-статус
Обратное чтение
systemd watchdog
Надзор
регрессионные тесты
Проверки

▍ Ключевые инженерные решения

Проблема
Быстрые Rust-сборки и отзывчивый рабочий стол конкурируют за CPU, память, IO и температурный запас.
Решение
Разделены безлимитный режим компиляции и capped-режим сборки. Capped-режим резервирует мощность для рабочего стола через сгенерированные cgroup-лимиты, а режим компиляции сначала использует охлаждение, а не программное замедление.
Отвергнутая альтернатива
Ручные nice/kill-команды — реактивны, неповторяемы и невидимы будущим агентам.
Проблема
Критическая температура должна защищать железо, но возвращаться к обычному управлению после свежего доказательства охлаждения.
Решение
Во время критического тепла фиксируется максимальное охлаждение, затем только тепловой latch снимается после устойчивых безопасных показаний. Ошибки целостности управления остаются зафиксированными.

▍ Технологический стек

Ядро
Rust 2024, serde, toml, tracing
Linux-контроль
sysfs, cgroups, CPU governor, EPP
Надёжность
systemd notify, watchdog, типизированные защитные состояния
Проверка
fake sysfs, тесты политики вентиляторов и режимов сборки

▍ Что доказывает этот проект

Агентно-управляемая инфраструктура
Состояние локального железа доступно через типизированное обратное чтение, поэтому агенты могут диагностировать давление без просьб к пользователю наблюдать за машиной.
Инженерия надёжности
У каждого важного состояния есть законный переход: обычное управление, capped-сборка, критическое тепло, восстановимое охлаждение и зафиксированные ошибки управления.
Системная интеграция
CPU-политика, PWM вентилятора, cgroups и надзор systemd соединены в один управляющий цикл.
Практичная производительность
Цель не в абстрактном тюнинге, а в быстрых сборках без превращения рабочего стола в ненадёжный общий ресурс.

Готовы построить нечто подобное?

Начать проект