01Contexte et problème
Les compteurs énergétiques matériels peuvent exiger des privilèges, tandis que développeurs et outils de benchmark ont besoin d'un workflow sûr, reproductible et non privilégié qui ne surinterprète pas le bruit.
02Responsabilité et contribution
Chakib a conçu la frontière daemon/client, le protocole et le modèle de validation, réalisé le prototype RAPL puis l'a fait évoluer vers une base indépendante du backend, centrée sur les traces et les scénarios déterministes.
Responsabilités
- Implémentation du daemon, de la CLI et des crates partagées en Rust.
- Définition du framing protobuf du prototype v0 et d'une enveloppe versionnée stricte dans Wattch Core.
- Ajout de scénarios déterministes et de validations golden avant les affirmations matérielles.
- Documentation des privilèges, de l'authentification des pairs, des compteurs et des échecs.
03Architecture et flux de données
Un daemon d'acquisition privilégié lit les compteurs bruts et sert un protocole strict sur socket local. Les clients CLI et Python non privilégiés capturent des descripteurs et lots d'échantillons dans des artefacts rejouables ; l'interprétation reste hors ligne.
- RAPL powercap Linux ou source déterministe
- Daemon d'acquisition Rust
- Protocole local Unix socket encadré
- Client CLI / Python
- Artefact de trace brute immuable
- Inspection et validation hors ligne
04Décisions d’ingénierie
Séparer acquisition privilégiée et clients non privilégiés.
RAPL peut demander une élévation ; la socket Unix devient une frontière étroite et auditable.Alternative écartée: Laisser chaque processus Python ou CLI lire directement les compteurs protégés.
Garder le daemon sans interprétation.
Les preuves brutes restent rejouables et les baselines, agrégations et conclusions évoluent hors ligne.Alternative écartée: Calculer joules/token, scores ou rapports dans le chemin d'acquisition critique.
05Fiabilité, sécurité et évaluation
- Les invariants rejettent sources inconnues et séquences non monotones.
- Un daemon déterministe valide le protocole sans présenter les valeurs synthétiques comme mesures matérielles.
- Le daemon orienté production documente permissions de socket, identité Linux du pair, récupération des sockets obsolètes et pannes partielles.
06Résultats et état actuel
Le prototype Rust v0 public prouve RAPL, le framing protobuf et la collecte Unix socket. Une réécriture protocol-first locale ajoute traces rejouables et validation déterministe ; elle n'était pas publiquement accessible pendant l'audit.
Groupes technologiques
Systèmes
Rust, Linux, RAPL, Unix sockets
Protocole
Protobuf, Frames binaires, Descripteurs typés
Validation
Daemon déterministe, Golden tests, Traces rejouables