Geheugenhiërarchie en prestaties
Wanneer twee programma's afwisselend op dezelfde core worden uitgevoerd, kunnen ze trager zijn dan wanneer elk afzonderlijk draait. Welke verklaring is vanuit de cache bezien het meest passend?
- ABij afwisselend uitvoeren verdubbelt het aantal instructies dat elk programma uitvoert
- BBij afwisselend uitvoeren wordt de capaciteit van de cache opnieuw op de helft ingesteld
- CDe data van het andere programma verdringen de eigen data, waardoor meer opnieuw moet worden ingelezen
Antwoord en toelichting tonen
Antwoord: C. De data van het andere programma verdringen de eigen data, waardoor meer opnieuw moet worden ingelezen
Bij het wisselen tussen programma's raken cache en TLB gevuld met data van het andere programma, zodat bij terugkeer van de eigen beurt de benodigde data zijn verdrongen. Toegangen die bij afzonderlijk draaien hits waren, worden daardoor misses en kosten tijd voor het opnieuw inlezen uit het hoofdgeheugen. Hoe korter het wisselinterval, hoe groter dit effect. Het aantal uitgevoerde instructies verandert niet, en de cachecapaciteit wordt niet opnieuw ingesteld; het gaat om het effect van het delen van de cache.