Implementa un alocador de memoria pool en C para un microservicio de tiempo real
Visión general
De qué trata este proyecto.
Diseñarás un alocador con 4 pools por tamaños (64, 256, 1024, 4096 bytes) usando free-lists intrusivas y bloques pre-asignados al arranque. Reemplazarás malloc/free en los 6 puntos calientes del servicio (identificados por flamegraph). Validarás corrección con AddressSanitizer y suite de tests bajo carga sintética. Medirás latencia p50/p99/p99.9 antes y después con datos AIS reales (1 hora de tráfico). Entregarás el alocador como librería estática, el patch al servicio, y un informe de 4 páginas con análisis de latencia y trade-offs (memoria desperdiciada vs latencia).
El Briefing
Lo que harás y lo que demostrarás.
Diseñar un alocador por pools en C que sustituya malloc en un microservicio de tiempo real y baje la latencia p99 por debajo de 5 ms.
Earning criteria — what you'll demonstrate
- Diseñar alocadores especializados con free-lists intrusivas
- Diagnosticar latencias de cola con flamegraph y perf
- Justificar trade-offs de memoria desperdiciada vs latencia
- Validar corrección con sanitizers antes de medir 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.
Ingeniera de Software de Sistemas
Diseñar un alocador especializado que mejora p99 medible es el ejercicio que diferencia a una ingeniera de sistemas senior de una que solo sabe usar lo que existe — y abre la puerta a equipos de bases de datos, runtimes y plataformas core.
Este proyecto afina
- c-programming
- memory-management
- performance-optimization
Ingeniera de Backend
Las ingenieras backend que han escrito alocadores entienden mejor por qué los GC pausan, cómo dimensionar contenedores y cuándo bajar a C.
Este proyecto afina
- memory-management
- performance-optimization
- system-programming