Übersicht
Worum es bei diesem Projekt geht.
Sie erhalten den C++-Code des aktuellen Loggers (mit Mutex-basierter Queue), eine Realdaten-Aufzeichnung einer Wartungsfahrt (zwei Stunden, 50 kHz, 8 Kanäle) und eine Test-Hardware mit x86-64-Linux. Implementieren Sie einen SPSC-Ringpuffer mit std::atomic, korrekter Memory-Ordering (acquire/release-Semantik), cache-line-aligned Indizes zur Vermeidung von False Sharing und einer wait-free Schreib- und Lese-API. Ersetzen Sie die bestehende Queue ohne API-Änderung. Validieren Sie mit ThreadSanitizer und einem Stress-Test, der 6 Stunden 50 kHz schreibt und liest. Liefern Sie Implementierung, Tests, einen Latenz-Vergleichsbericht (P50/P99 Schreib-Latenz) und einen kurzen Memory-Ordering-Erklärungstext für das Team.
Das Briefing
Was Du tust und was Du zeigst.
Wie sieht ein Lock-Free SPSC-Ringpuffer aus, der 50 kHz Sample-Rate auf 8 Kanälen über 6 Stunden verlustfrei loggt und P99-Schreib-Latenz unter 5 Mikrosekunden hält?
Earning criteria — what you'll demonstrate
- Lock-Free Datenstrukturen mit korrekter Memory-Ordering implementieren
- False Sharing als Performance-Problem erkennen und durch Alignment beheben
- ThreadSanitizer und Stress-Tests systematisch zur Validierung einsetzen
- Niedrige Latenz mit Tail-Verteilungen (P99) belegen statt nur mit Mittelwerten
Studienpassung
Wo dies in Dein Studium passt.
Schärft dieselben Fähigkeiten, die Dein Studium von Dir erwartet.
Fähigkeiten
Fähigkeiten, die Du unter Beweis stellst.
Jede taucht auf Deinem verifizierten Zertifikat auf.
Karrieren
Berufe, auf die dies Dich vorbereitet.
Echte Berufsbezeichnungen. Echte Skill-Brücken. Wähle die, die Deinem Werdegang am nächsten kommt.
Karrierewege, die das aufbaut
Kanonische RollenSoftware-Entwickler:in
Lock-Free-Programmierung ist eine der seltensten Junior-Skills — wer eine korrekte SPSC-Queue mit ThreadSanitizer-Validierung vorzeigen kann, qualifiziert sich für latenzkritische Stellen in HFT, Gaming und industrieller Steuerung.
Dieses Projekt schärft
- cpp-programming
- concurrency
- memory-ordering
Backend-Entwickler:in
Backend-Entwickler:innen, die Concurrency-Primitive verstehen, vermeiden die typischen Mutex-Contention-Engpässe in hochbelasteten Diensten.
Dieses Projekt schärft
- concurrency
- memory-ordering
- benchmarking
Systemarchitekt:in
Systemarchitekt:innen mit Lock-Free-Hintergrund treffen bessere Designentscheidungen für latenz- und durchsatzkritische Pfade.
Dieses Projekt schärft
- concurrency
- embedded-systems
- benchmarking
Noch eine Sache