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?
- AVeel synchronisatie tussen threads, zoals wachten op locks
- BGrote scheefheid in de hoeveelheid werk per thread
- 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.