Lock-freie Queue für einen Frankfurter Market-Data-Feed implementieren
Übersicht
Worum es bei diesem Projekt geht.
Implementiere eine bounded Multi-Producer-Single-Consumer-Queue in C++20 mit std::atomic und konkreter Memory-Order-Auswahl (acquire/release statt seq_cst, wo möglich). Beachte ABA-Probleme und richte den Layout an Cache-Lines aus (alignas, false-sharing vermeiden). Schreibe einen formalen Korrektheits-Argument-Text, der invariants über Produzenten- und Konsumenten-Indizes festhält. Stress-Teste mit C++ Threading Sanitizer (TSan) und einer Last von 8 Produzenten plus 1 Konsument auf bis zu 20 Millionen Operationen pro Sekunde. Vergleiche gegen die Spin-Lock-Baseline auf Durchsatz, p99 und p999. Abgaben: Lock-freie Implementierung, Korrektheits-Argument, TSan-Suite, Mess-Bericht, 10-seitiges Memo für den Plattform-Architekten.
Das Briefing
Was Du tust und was Du zeigst.
Wie implementiert man eine korrekte und schnellere Lock-freie MPSC-Queue für einen Market-Data-Feed und beweist Korrektheit für institutionelle Kund:innen?
Earning criteria — what you'll demonstrate
- Lock-freie Algorithmen mit korrekter Memory-Order entwerfen
- ABA-Probleme und False-Sharing bewusst vermeiden
- Korrektheits-Argumente für Concurrency-Code schreiben
- Lock-freier Code gegen Spin-Lock-Baselines fair benchmarken
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.
Performance-Ingenieur:in
Lock-freie Datenstrukturen mit Memory-Order-Disziplin zu implementieren ist eine seltene Senior-Fähigkeit, die in HFT, Trading-Infrastruktur und Low-Latency-Plattformen direkt gefragt ist.
Dieses Projekt schärft
- lock-free-algorithms
- atomics
- memory-ordering
Systemarchitekt:in
Architekt:innen, die Lock-freie Bausteine kennen, entwerfen Hot-Paths ohne unnötige Synchronisation.
Dieses Projekt schärft
- lock-free-algorithms
- cpp
- memory-ordering
Noch eine Sache