Multicore en synchronisatie

Welke vergelijking van 'grofkorrelige locks', waarbij een grote datastructuur als geheel door één lock wordt beschermd, en 'fijnkorrelige locks', waarbij delen elk door een eigen lock worden beschermd, is juist?

  1. AGrofkorrelige locks hebben altijd meer parallellisme
  2. BMet fijnkorrelige locks neemt het aantal locks af
  3. CFijnkorrelig geeft meer parallellisme doordat meerdere threads tegelijk verschillende delen kunnen gebruiken, maar het ontwerp wordt complexer en het risico op deadlock groter
Antwoord en toelichting tonen

Antwoord: C. Fijnkorrelig geeft meer parallellisme doordat meerdere threads tegelijk verschillende delen kunnen gebruiken, maar het ontwerp wordt complexer en het risico op deadlock groter

Grofkorrelige locks zijn eenvoudig en minder foutgevoelig, maar threads die niet-gerelateerde delen gebruiken wachten ook op elkaar, zodat het bij meer cores moeilijk sneller wordt. Bij een fijne korrel, zoals een aparte lock per bucket van een hashtabel, kunnen verschillende delen tegelijk worden bewerkt. Er zijn echter meer situaties waarin meerdere locks worden genomen, en het beheer van de volgorde van nemen en de last van de locks zelf worden een probleem.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Multicore en synchronisatie

  1. Welke eigenschap van een lock-free algoritme is juist?
  2. Welke uitleg over een kritieke sectie is juist?
  3. Welke uitleg over barrièresynchronisatie, gebruikt in parallelle programma's, is juist?
  4. Als 64 cores voortdurend gelijktijdig één gedeelde teller met atomaire instructies bijwerken, wordt het niet sneller door meer cores. Wat is de belangrijkste reden?
  5. Welke uitleg over een NUMA-systeem (Non-Uniform Memory Access) is juist?

Vergelijkingen bij dit onderwerp