Carnet d'ordres lock-free pour plateforme de paiements interbancaires
Aperçu
En quoi consiste ce défi.
Concevez une file de priorité lock-free pour un carnet d'ordres financier avec insert et deleteMin. Obtenez un certificat vérifiable.
Le brief
Ce que vous ferez, et ce que vous démontrerez.
Concevoir et spécifier formellement une file de priorité lock-free linéarisable pour un carnet d'ordres financier, puis valider sa correction et ses performances par un prototype C++ et des tests de stress concurrentiels.
Earning criteria — what you'll demonstrate
- Comprendre et appliquer le concept de linéarisabilité comme critère de correction pour les structures de données concurrentes
- Implémenter des algorithmes lock-free à base d'opérations atomiques CAS en gérant les problèmes ABA (situation où une valeur revient à son état initial entre deux lectures, trompant le CAS)
- Analyser formellement les invariants d'une structure de données concurrente et identifier les points de linéarisation
- Évaluer expérimentalement la scalabilité d'une structure lock-free en fonction du nombre de threads
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 Backend
La maîtrise des structures concurrentes lock-free et de la programmation atomique en C++ est directement transférable au développement de serveurs haute performance, où les ingénieurs backend conçoivent des composants à faible latence pour des systèmes financiers ou de messagerie.
Ce défi renforce
- lock-free-algorithms
- concurrent-data-structures
- algorithm-analysis
Ingénieur de Plateforme
Ce défi reproduit le travail d'un ingénieur de plateforme qui conçoit les couches d'infrastructure critiques (files d'attente, caches, moteurs de correspondance) sur lesquelles reposent les services applicatifs, avec des exigences strictes de correction et de performance.
Ce défi renforce
- lock-free-algorithms
- application-monitoring
- architecture-decision-records-adrs
Ingénieur de Sécurité
L'analyse formelle des invariants concurrents et la détection de courses de données développent une rigueur analytique essentielle pour un ingénieur sécurité qui doit identifier les vulnérabilités liées à la concurrence (TOCTOU, race conditions) dans les systèmes critiques.
Ce défi renforce
- lock-free-algorithms
- algorithm-analysis
- concurrent-data-structures