Multicore en synchronisatie

Welke van de volgende is geen oorzaak dat de prestaties van een parallel programma niet naar verwachting stijgen als het aantal cores wordt vergroot?

  1. AVeel synchronisatie tussen threads, zoals wachten op locks
  2. BGrote scheefheid in de hoeveelheid werk per thread
  3. CElke thread leest en schrijft alleen zijn eigen gegevens
Antwoord en toelichting tonen

Antwoord: C. Elke thread leest en schrijft alleen zijn eigen gegevens

De belangrijkste oorzaken die het effect van parallellisering belemmeren zijn het niet-paralleliseerbare deel (wet van Amdahl), wachten door locks en barrières, het heen en weer gaan van cacheregels door gedeelde gegevens en false sharing, ongelijke werkverdeling en onvoldoende geheugenbandbreedte. Als elke thread alleen eigen gegevens bewerkt, ontstaat geen communicatie of wachten met andere threads, en komt men dicht bij ideale parallellisering.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Multicore en synchronisatie

  1. Welke verdeling is geschikt bij het verdelen van lusiteraties over meerdere threads wanneer de rekenlast per iteratie sterk uiteenloopt?
  2. Welke methode is geschikt voor de prestaties bij het berekenen van de som van alle elementen van een array met meerdere threads?
  3. Welke eigenschap van een lees-schrijflock (reader-writer lock) is juist?
  4. Wat is het meest passende gebruik van een tellende semafoor?
  5. Welk verschil tussen cachecoherentie en een geheugenconsistentiemodel is juist?

Vergelijkingen bij dit onderwerp