Explore le concept de verrouillage pour l'exclusion mutuelle dans le système d'exploitation, couvrant les conditions de race, le parallélisme, les instructions atomiques, la prévention de l'impasse et les meilleures pratiques.
Introduit les fondamentaux de l'architecture multiprocesseur, couvrant les serveurs post-Moore, les datacenters durables, la programmation parallèle et l'utilisation du GPU.
Explore la motivation et les avantages de l'utilisation des GPU pour le calcul, en se concentrant sur leurs performances et leur programmation via CUDA.
Couvre les primitives de verrouillage nécessaires pour empêcher les conditions de course dans la programmation multithread, en se concentrant sur l'exclusion mutuelle et les opérations atomiques.
Explore les écueils de concurrence primitives, d'exclusion mutuelle et de synchronisation dans les systèmes d'exploitation, en mettant l'accent sur les variables de condition et les sémaphores.
Explore l'importance de la synchronisation sans verrouillage pour obtenir une faible latence dans les systèmes distribués et discute des solutions pratiques pour la génération d'identificateurs uniques et les files d'attente de messagerie.
Explique les mutex comme des verrous de thread, traitant de l'attente occupée et assurant une synchronisation efficace dans les applications multi-thread.