Couvre les bases de la programmation parallèle, y compris la concurrence, les formes de parallélisme, la synchronisation et les modèles de programmation tels que PThreads et OpenMP.
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.
Explore la cohérence de la mémoire, la faible cohérence et les garanties de niveau de langue dans l'ordre de mémoire, soulignant l'importance de la programmation libre de course de données.
Explore la synchronisation sans verrouillage pour des performances et une évolutivité dans les systèmes distribués, couvrant la génération d'identifiants uniques, les files d'attente de messagerie et les lectures RDMA atomiques.
Explore le parallélisme dans la programmation, en mettant l'accent sur les compromis entre la programmabilité et la performance, et introduit la programmation parallèle en mémoire partagée à l'aide d'OpenMP.
Explore la cohérence de la mémoire, la cohérence, la faible cohérence et la cohérence séquentielle, en soulignant l'importance de la cohérence au niveau du langage et de la programmation sans course aux données.