Prestatiemeting en profiling

Welke zaken kunnen bijvoorbeeld worden geteld met de in de CPU ingebouwde prestatietellers (PMU)?

  1. AHet aantal uitgevoerde instructies, het aantal cache-misses, het aantal verkeerd voorspelde sprongen e.d.
  2. BHet aantal personen dat het programma heeft geschreven
  3. CHet aantal toetsen op het toetsenbord
Antwoord en toelichting tonen

Antwoord: A. Het aantal uitgevoerde instructies, het aantal cache-misses, het aantal verkeerd voorspelde sprongen e.d.

Prestatietellers zijn hardwaretellers die diverse gebeurtenissen binnen de CPU tellen. Uit het aantal cycli en het aantal instructies kan de IPC worden bepaald, en ook het aantal cache-misses per niveau, TLB-misses en sprongvoorspellingsfouten is bekend. Met hulpmiddelen als perf onder Linux kunnen ze worden geteld terwijl het programma draait, wat een aanwijzing geeft of de oorzaak van de tijdsbesteding bij het geheugen, bij sprongen of bij de berekening zelf ligt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Prestatiemeting en profiling

  1. 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?
  2. Met prestatietellers bleek dat er zeer veel sprongvoorspellingsfouten zijn. Welke verbetermethode is geschikt?
  3. Wat is bij top-downanalyse (Top-down Microarchitecture Analysis) met prestatietellers de juiste hoofdindeling van het gebruik van de slots waarin de CPU instructies verwerkt?
  4. Een programma was langzaam, hoewel het CPU-gebruik laag was, ongeveer 20 %. Wat is de meest waarschijnlijke oorzaak?
  5. Om te controleren of een programma rekengebonden of geheugengebonden is, werd de uitvoeringstijd gemeten bij een gewijzigde CPU-frequentie. Welk resultaat is bij geheugengebonden programma’s in het algemeen te verwachten?

Vergelijkingen bij dit onderwerp