Diseñar una estructura concurrente lock-free para un motor de matching
Visión general
De qué trata este proyecto.
Diseña una estructura concurrente para un order book (cola de prioridad por precio + FIFO por timestamp dentro de cada nivel) lock-free o wait-free en lectura. Implementa en C++20 con std::atomic y modelo de memoria explícito. Demuestra ausencia de carreras con TSan y razonamiento sobre memory ordering. Mide latencia p50/p99/p99.9 y throughput bajo 1, 4, 8, 16 productores concurrentes y compara contra la versión actual con mutex global. Documenta los compromisos (memoria adicional, complejidad, casos límite). Entrega el código, los benchmarks, un informe técnico de 8 páginas y una recomendación clara de integración o no.
El Briefing
Lo que harás y lo que demostrarás.
Reducir la latencia p99 de un motor de matching reemplazando un order book con mutex global por una estructura concurrente lock-free correctamente probada.
Earning criteria — what you'll demonstrate
- Aplicar el modelo de memoria C++20 a diseño de estructuras concurrentes
- Diseñar y razonar sobre algoritmos lock-free (CAS, hazard pointers, epoch-based reclamation)
- Medir latencia de cola larga con herramientas correctas (HdrHistogram, no promedios)
- Comparar honestamente compromisos de memoria, complejidad y rendimiento
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Construir y razonar sobre estructuras lock-free correctas es una credencial muy escasa que abre roles en fintech de baja latencia, motores de juego y motores de bases de datos.
Este proyecto afina
- lock-free
- concurrent-data-structures
- c-programming
Ingeniero de Backend
Comprender el modelo de memoria a este nivel evita errores sutiles en código backend concurrente en cualquier lenguaje.
Este proyecto afina
- concurrent-data-structures
- performance-analysis
- benchmarking