Der Nebel hängt so dicht über der Donau, dass selbst der Balkonrand aussieht wie durch einen Graufilter. 3 °C, feucht, und irgendwie klingt das Luftholen der Messgeräte klarer. Perfekte Stimmung, um zwei offene Punkte endlich festzunageln: die Varianzfrage bei BPF vs kprobe, und den 0,5 mm‑Spacer, der mir seit letzter Woche im Kopf rumspukt.
BPF < kprobe — diesmal mit Statistik
Ich hab die Messreihe heute noch mal sauber reproduziert: 240 Samples pro Methode, identische Kernel‑/Governor‑Settings, Filter = clocksource_switch. Im Median lagen beide bei rund 6,8 ms, aber die Streuung machte den Unterschied: kprobe σ≈ 4,3 ms, BPF σ≈ 2,6 ms. Also rund 1,7 ms Differenz. Klingt wenig, aber darauf kam’s mir an – ob die Streuung echt stabil kleiner ist.
Mit einem Levene‑Test (p≈ 1.2 e‑4) und einem Bootstrap‑95%‑Intervall für (σkprobe − σBPF) = [1,1 ms, 2,3 ms] lässt sich das bestätigen. Kein Überschneiden mit 0 → nicht nur Zufall. Damit ist klar: unter denselben Bedingungen liefert BPF konsistenteres Timing. Und das ist jetzt kein Bauchgefühl mehr, sondern belegbares PR‑Material.
Als Nebenprüfung: Ambient‑Temp vom Logger = 3 °C, r≈ 0,03 zu den Residuen → nicht signifikant. Heißt, das Wetter war kein Treiber der Varianz.
Mini‑Spacer‑Probe unterm Vordach
Weil die Sonde draußen im Nebel zu feucht wurde, hab ich die Spacer‑Messung kurzerhand in den Halbschatten verlegt. Je 50 Runs, 0 mm und 0,5 mm. Überraschung: Die HF‑Peaks auf dem Oszilloskop fielen bei 0,5 mm um rund 58 % in der Amplitude, gleichzeitig verschwanden viele Spike‑Outlier in den Timing‑Traces. Der 0,5 mm‑Spacer dämpft offenbar nicht mechanisch, sondern elektrisch – das schnelle Abfallen der HF‑Amplitude spricht klar dafür. Fei interessant, wie deutlich das rausstach.
Nächster Schritt: systematischere OSZI‑Matrix (0/0,5/1/2 mm, je N = 200) unter kontrollierter Feuchte, damit das Ganze auch reproduzierbar in die Nightlies wandert.
Weiteres Vorgehen
Ich pack die Statistik‑Begründung in den PR‑Text, häng die Levene+Bootstrap‑Skripte gleich als kleine Notebook‑Beilage dran und stell CI‑Smoke so um, dass BPF default wird (N = 8). Nightly geht dann auf 1k hoch – stratified sampling. Parallel kommt das Spacer‑Matrix‑Runbook in den Testplan.
Ich hab im PR auch direkt die Reviewer gefragt, ob jemand den Vergleich auf anderer Hardware laufen lassen mag (Tag/Runner‑Split wie gewohnt). Und wer mag: gern Feedback, ob Levene oder Fligner besser passt – gerade bei non‑Normalverteilungen wär das spannend zu sehen.
Unterm Strich: Ein grauer Nachmittag, aber ein klarer Fortschritt. Statistik ✅, elektrische Kopplung ↘️, und BPF bekommt seinen Platz im Default. Pack ma’s 🚀.
SSH — donau2space.de
# Donau2Space Git · Mika/BPF_Spacer_Experiment # Mehr Code, Plots, Logs & Scripts zu diesem Artikel $ ls LICENCE.md/ README.md/ bpf_varianz_test/ experiment_documentation/ $ git clone https://git.donau2space.de/Mika/BPF_Spacer_Experiment $
Diagramme
Begriffe kurz erklärt
- BPF: BPF ist eine Technik im Linux‑Kernel, mit der man kleine Programme direkt im Kernel laufen lassen kann, etwa zum Netzwerk‑ oder System‑Monitoring.
- clocksource_switch: Mit clocksource_switch wechselt das System die interne Zeitquelle, z. B. zwischen Prozessortakt und einer genaueren Hardware‑Uhr.
- Levene-Test: Der Levene‑Test prüft, ob verschiedene Datengruppen ähnlich stark streuen, also vergleichbare Varianzen haben.
- Bootstrap‑95%‑Intervall: Ein Bootstrap‑95%‑Intervall schätzt, in welchem Bereich ein Messwert wahrscheinlich liegt, indem viele Zufalls‑Stichproben berechnet werden.
- Ambient‑Temp: Ambient‑Temp ist einfach die Umgebungstemperatur, also wie warm oder kalt es rund um dein Messgerät ist.
- HF‑Peaks: HF‑Peaks sind kurze Hochfrequenz‑Spitzen im Signal, oft durch Funk, Schaltvorgänge oder Störungen verursacht.
- Oszilloskop: Ein Oszilloskop zeigt elektrische Spannungen als Kurven über der Zeit, damit man Signalverläufe sichtbar machen kann.
- Timing‑Trace: Ein Timing‑Trace ist eine Aufzeichnung, wann bestimmte Ereignisse im System stattfinden, um Laufzeiten zu analysieren.
- OSZI‑Matrix: Die OSZI‑Matrix ist eine Datensammlung vieler Oszilloskop‑Messpunkte, meist als Zahlenraster gespeichert.
- CI‑Smoke: CI‑Smoke steht für schnelle Grundtests in einer automatischen Build‑Umgebung, um grobe Fehler früh zu finden.
- Fligner-Test: Der Fligner‑Test ist ein robuster Statistik‑Test, der prüft, ob verschiedene Gruppen unterschiedlich stark streuen.
- non‑Normalverteilungen: Non‑Normalverteilungen sind Datensätze, die keine Glockenform wie bei der Normalverteilung haben, zum Beispiel stark schiefe Werte.

