Files
mrcharles 25299373f7
ci / audit (push) Failing after 26s
KNELPerf v2 wave 1: Ultix scheduler breakout + loop skeleton + reports (#826)
- scheduler/: day/night engine (conf-driven redesign), psi/perfsnap collectors,
  proxmox-ctl, systemd timer templates — ported from ~/projects/ultix per the
  breakout map in scheduler/README.md
- loop/: perf-loop driver (baseline/audit/tweak/rebaseline), cpu-bench (new CPU
  leg), baseline-diff (tolerance compare) — smoke-tested locally
- docs/ARCHITECTURE.md: full program design (loop, resource groups, VM/spindle
  balancing, k8s-vs-Slurm, beszel+RAPL/iDRAC telemetry spine, workload classes,
  solar/HA + two-site power economics)
- docs/report-amt-power-telemetry.md + docs/report-moonlight-desktop.md

Redmine: https://projects.knownelement.com/issues/826#note-2
2026-09-06 14:16:54 -05:00

25 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# systemd units — day/night profile timers
Install per host (adjust names to your unit namespace if not knelperf-):
install -m 0644 knelperf-dayprofile.service /etc/systemd/system/
install -m 0644 knelperf-dayprofile.timer /etc/systemd/system/
install -m 0644 knelperf-nightprofile.service /etc/systemd/system/
install -m 0644 knelperf-nightprofile.timer /etc/systemd/system/
systemctl daemon-reload
systemctl enable --now knelperf-dayprofile.timer knelperf-nightprofile.timer
Design notes (carried from ultix, keep true here):
- `Persistent=true` — a missed flip (host powered off) replays at next boot,
so the host can never get stuck in the wrong profile across a reboot cycle.
- Services are `Type=oneshot` calling the profile engine with the SAME conf
file; the conf — not the timer — is the only place values live (fixes the
ultix wart where the day-flip time was sed-edited on the live timer).
- Day schedule 07:00, night 22:00 local time (batch window 22:0007:00).
Change the OnCalendar here when a host needs a different window; the timers
stay trivial and identical in shape.
Reboot-safety invariant: slice unit files must carry the DAY values as their
static defaults, so an unattended reboot always lands in day mode.