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 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é.
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