Prestatiemeting en profiling
Uit metingen met prestatietellers bleek dat de IPC (aantal instructies per cyclus) van een programma met 0,3 zeer laag was en dat er veel cache-misses in het laatste niveau waren. Welke combinatie van meest waarschijnlijke situatie en tegenmaatregel is juist?
- ADe CPU staat lang stil door te wachten op het geheugen. De cache wordt effectiever gebruikt door de gegevensindeling te wijzigen of blocking toe te passen
- BDe berekening is te snel. De frequentie wordt verhoogd
- CEr zijn te weinig sprongen. Er worden sprongen toegevoegd
Antwoord en toelichting tonen
Antwoord: A. De CPU staat lang stil door te wachten op het geheugen. De cache wordt effectiever gebruikt door de gegevensindeling te wijzigen of blocking toe te passen
Huidige CPU’s kunnen per cyclus meerdere instructies uitvoeren, dus een IPC van 0,3 geeft aan dat het grootste deel van de tijd op iets wordt gewacht. Bij veel cache-misses in het laatste niveau kan worden aangenomen dat lang op gegevens uit het hoofdgeheugen wordt gewacht. Het verminderen van cache-misses is effectief door gegevens op opeenvolgende adressen te plaatsen, de volgorde van de lussen te wijzigen of dezelfde gegevens via blocking meermaals te gebruiken.