Accélérer le tri et le filtrage temps réel de manifestes de conteneurs portuaires
Aperçu
En quoi consiste ce défi.
Parallélisez en C++ le filtrage et le tri de manifestes portuaires, puis comparez les performances. Obtenez un certificat vérifiable.
Le scénario
Ce port traite plus de 7 millions de conteneurs par an. La société emploie une trentaine de développeurs et gère l'ensemble de la chaîne logicielle depuis la réception des manifestes électroniques jusqu'à l'affichage sur les écrans de quai. Le passage à un traitement rapide est critique pour réduire les temps d'attente des camions aux portiques.
Le brief
Ce que vous ferez, et ce que vous démontrerez.
Le service de tri et filtrage de manifestes en Python est trop lent (12 secondes pour 50 000 entrées) pour alimenter en temps réel le tableau de bord des opérateurs de quai du port.
Earning criteria — what you'll demonstrate
- Profiler un programme pour identifier si le goulot est lié au processeur (CPU-bound) ou aux entrées/sorties (I/O-bound) et choisir la stratégie d'optimisation adaptée
- Paralléliser un traitement de données avec OpenMP ou les threads POSIX en gérant correctement le partage de données et la synchronisation
- Mesurer l'accélération parallèle (speedup) et l'efficacité en fonction du nombre de threads, et interpréter les écarts par rapport à la loi d'Amdahl
- Comparer les performances d'un même algorithme entre un langage interprété (Python) et un langage compilé (C/C++) avec des mesures rigoureuses
Adéquation au programme
Où cela s'inscrit dans votre cursus.
Renforce les mêmes compétences que celles attendues par votre diplôme.
Cursus associés bientôt disponibles.
Compétences
Les compétences que vous démontrerez.
Chacune apparaît sur votre certificat vérifié.
- Algorithm Analysis
Apply algorithm analysis to solve real industry problems and demonstrate production-level capability.
- Performance Profiling
Apply performance profiling to solve real industry problems and demonstrate production-level capability.
- Parallel Programming
Apply parallel programming to solve real industry problems and demonstrate production-level capability.
- Benchmarking Methodology
Apply benchmarking methodology to solve real industry problems and demonstrate production-level capability.
Débouchés
Les métiers auxquels ce défi vous prépare.
De vrais intitulés. De vraies passerelles de compétences. Choisissez celui qui se rapproche le plus de votre trajectoire.
Les parcours de carrière que ce défi construit
Métiers de référenceIngénieur en Fiabilité de Site
Le profilage de services critiques et l'optimisation de leur latence pour respecter des seuils stricts sont des tâches quotidiennes d'un ingénieur SRE, directement pratiquées dans ce défi.
Ce défi renforce
- performance-profiling
- benchmarking-methodology
- algorithm-analysis
Ingénieur Backend
Réécrire un traitement de données pour le rendre rapide et parallèle est une compétence clé pour tout ingénieur backend travaillant sur des systèmes à forte charge de données.
Ce défi renforce
- parallel-programming
- algorithm-analysis
- performance-profiling
Ingénieur de Systèmes
La compréhension du parallélisme multicœur, de la synchronisation entre threads et de la mesure de scalabilité prépare directement au métier d'ingénieur systèmes.
Ce défi renforce
- parallel-programming
- benchmarking-methodology
- performance-profiling