De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Realtime cache visualisatie

Verwante presentaties


Presentatie over: "Realtime cache visualisatie"— Transcript van de presentatie:

1 Realtime cache visualisatie
Joachim Vermeir Begeleiders: lic. K. Beyls, Dr Y. Yu Promotor: Prof. Dr. ir. E. D’Hollander

2 Overzicht Probleemstelling/Doelstelling Achtergrond
Aanpak: performance counters/simulatie Realisaties Besluit

3 1.1 Probleemstelling Cachegedrag = onzichtbaar
Cache heeft stijgende invloed op prestatie (antiwet van Moore) Effecten op de prestatie: I-cache, D-cache Cache missers: koude, conflict, capaciteit Probleem met het bestaande visualisatieprogramma: TRAAG Java/Swing UI De metingen worden gesimuleerd aan de hand van een cache model De visualistatietool is niet te gebruiken voor programmas met veel geheugentoegangen

4 1.2 Doelstelling Cachegedrag visualiseren
Visualisatie versnellen Opmeten versnellen Het interactieve aspect uitbreiden De gebruiker feedback geven over de resultaten Meer inzicht krijgen in de mogelijkheden van cachevisualisatie

5 2. Achtergrond Bestaande visualisatieprogramma’s:
Cache Visualizer (Yijun Yu) Vtune (Intel) Thesis van Bart Kerkhof: Exploratie van de mogelijkheden van de huidige visualizer Meetmethodes: M.b.v. performance counters Simulatie -> hergebruiksafstand visualisatie

6 Soorten cachemissers Koude misser Capaciteitsmisser Conflictmisser
Treedt op wanneer de data voor de eerste maal gelezen worden en dus nog niet in de cache zitten Capaciteitsmisser Een misser die optreedt omdat de cache vol zit Conflictmisser Een misser die optreedt omdat de cachelijn reeds vol zit

7 Bestaande Cache Visualizer
Broncode editor Visualisatie van missers/treffers Visualisatie van gerefereerde variabelen

8 3. Aanpak Twee mogelijkheden om cachegedrag te meten Programma
Geheugentoegangen Cache Visualizer Simulatie Performance Counters VTUNE Visualisatie

9 3.1 Performance counters Gebeurtenis opgeven Periode opgeven
CPU_CYCLES L1D_READS_RETIRED teller instellen Programma starten/ verderzetten Buffer niet vol Periode afgelopen Programma onderbreken en sample wegschrijven Buffer verwerken Buffer vol

10 Performance counters Voorbeeld: VTune (Intel) Voordeel: Nadelen:
Weinig vertraging Nadelen: Niet geschikt om individuele cachetoegangen te bestuderen Geen informatie beschikbaar over het type cachemisser Bij te frequente gebeurtenissen (events), mogelijk teveel overhead

11 3.2 Simulatie Opmeten van het aantal missers/treffers met behulp van gesimuleerd cachemodel Vb: Cache Visualizer (door Yijun Yu) Nadelen: zeer traag De resultaten kunnen afwijken van de werkelijke prestatie van de cache

12 3.2 Simulatie Voordelen: Individuele geheugentoegangen kunnen onderscheiden worden Verschillende cachemodellen kunnen gesimuleerd worden De verschillende soorten missers zijn te onderscheiden

13 4. Realisaties Versnelling en integratie van bestaande Cache Visualizer in Eclipse IDE Traces converteren naar figuren in standaardformaat: PNG Programma om metingen te doen met performance counters Programma voor grafische weergave van de realtime metingen

14 4.1 Resultaat van simulatie
Naam van de variabele Lokaliteit Soort cachemisser

15 4.1 Visualisatie van simulatie
Broncode editor Navigator Visualisatie treffers/missers

16 Voorbeeld van gevisualiseerde trace
broncode

17 Na inzoomen Koude misser capaciteitsmisser Treffer Conflictmisser

18 4.2 Metingen met hardwaretellers
L2_MISSES L3_MISSES LINENO 0x d4e6ec 0x 0x b x da36 0x d6c 0x a01cff 0x a 0x d4de6d 0x fb4ae 0x af6fb 0x a7094 0x c 0x f4e422 0x b 0x cff102 0x adca69 0x ab843a 0x e3b32d 0x b1e6 0x f8 0x c66e9 0x f7a6d 0x a34d959 0x eda 0x b0cb7cc 0x ba19fb 0x be x effae5 0x cb7a695 0x b0d 0x f1 0x b01b 0x a4d4429 0x bcebcc ---split--- /export/home1/pds02/jovermei/benchmarks/179.art/src/scanner.c:476 /export/home1/pds02/jovermei/benchmarks/179.art/src/scanner.c:407 /export/home1/pds02/jovermei/benchmarks/179.art/src/scanner.c:436 /export/home1/pds02/jovermei/benchmarks/179.art/src/scanner.c:113 /export/home1/pds02/jovermei/benchmarks/179.art/src/scanner.c:414 L2_MISSES L3_MISSES LINENO , ,scanner.c:476 , ,scanner.c:407 , ,scanner.c:476 , ,scanner.c:436 , ,scanner.c:113 , ,scanner.c:476 , ,scanner.c:414 , ,scanner.c:476 , ,scanner.c:449 , ,scanner.c:444 , ,scanner.c:452 , ,scanner.c:476 , ,scanner.c:476 , ,scanner.c:476 , ,scanner.c:468 , ,scanner.c:475 , ,scanner.c:476 , ,scanner.c:476 , ,scanner.c:476 , ,scanner.c:476 , ,scanner.c:407 , ,scanner.c:476 , ,scanner.c:476 , ,scanner.c:476 , ,scanner.c:476 , ,scanner.c:407 Meetperiode Opgemeten gebeurtenissen Niveau-2 cachemissers Niveau-3 cachemissers Lijnnummers

19 4.2 Metingen met hardwaretellers
Broncode editor Navigator Keuzemenu voor grafische voorstelling Parameters voor metingen

20 4.3 Mogelijke visualisaties

21

22 Besluit Beide technieken van opmeten hebben hun voor- en nadelen
Met hardwaretellers kan men reeds de knelpunten in een programma aanduiden Wenst men meer detail, dan moet men simulatie gebruiken


Download ppt "Realtime cache visualisatie"

Verwante presentaties


Ads door Google