Multicœur et synchronisation
Quelle comparaison entre le « verrouillage à gros grain », qui protège toute une grande structure de données par un seul verrou, et le « verrouillage à grain fin », qui protège chaque partie par un verrou distinct, est correcte ?
- ALe verrouillage à gros grain offre toujours plus de parallélisme
- BLe grain fin réduit le nombre de verrous
- CLe grain fin permet à plusieurs threads d’utiliser simultanément des parties différentes et offre plus de parallélisme, mais complique la conception et accroît le risque d’interblocage
Afficher la réponse et l'explication
Réponse : C. Le grain fin permet à plusieurs threads d’utiliser simultanément des parties différentes et offre plus de parallélisme, mais complique la conception et accroît le risque d’interblocage
Le verrouillage à gros grain est simple et peu sujet aux erreurs, mais les threads utilisant des parties sans rapport s’attendent aussi mutuellement, si bien que l’ajout de cœurs accélère peu. Avec un grain fin, par exemple un verrou par compartiment de table de hachage, des parties différentes peuvent être manipulées simultanément. En revanche, les situations de prise de plusieurs verrous se multiplient, et la gestion de l’ordre de prise ainsi que le coût des verrous eux-mêmes deviennent problématiques.
Continuer : 9 autres questions sur Multicœur et synchronisation