Multicore en synchronisatie

Welke uitleg over barrièresynchronisatie, gebruikt in parallelle programma's, is juist?

  1. AEen deel maken waar slechts één thread tegelijk in kan
  2. BThreads die eerder aankomen laten wachten tot alle threads dat punt hebben bereikt
  3. CEen instructie die de verwisseling van de volgorde van geheugenbewerkingen stopt
Antwoord en toelichting tonen

Antwoord: B. Threads die eerder aankomen laten wachten tot alle threads dat punt hebben bereikt

Bij bijvoorbeeld simulaties moeten alle threads de berekening van één stap hebben voltooid voordat naar de volgende stap wordt gegaan. Bij barrièresynchronisatie stopt elke thread bij het barrièrepunt en gaan allen verder zodra de laatste thread is aangekomen. Bij ongelijke rekenlast neemt de tijd toe die snelle threads op trage wachten, dus het gelijkmatig verdelen van het werk is voor de prestaties belangrijk.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Multicore en synchronisatie

  1. Als 64 cores voortdurend gelijktijdig één gedeelde teller met atomaire instructies bijwerken, wordt het niet sneller door meer cores. Wat is de belangrijkste reden?
  2. Welke uitleg over een NUMA-systeem (Non-Uniform Memory Access) is juist?
  3. Waarop moet worden gelet bij het first-touch-beleid dat vaak wordt gebruikt in Linux-NUMA-systemen (een pagina wordt geplaatst in het geheugen van het knooppunt waarop de thread draait die er het eerst naar schrijft)?
  4. Welke van de volgende is geen oorzaak dat de prestaties van een parallel programma niet naar verwachting stijgen als het aantal cores wordt vergroot?
  5. Welke verdeling is geschikt bij het verdelen van lusiteraties over meerdere threads wanneer de rekenlast per iteratie sterk uiteenloopt?

Vergelijkingen bij dit onderwerp