1 / 22

Realtime cache visualisatie

Realtime cache visualisatie. Joachim Vermeir Begeleiders: lic. K. Beyls, Dr Y. Yu Promotor: Prof. Dr. ir. E. D’Hollander. Overzicht. Probleemstelling/Doelstelling Achtergrond Aanpak: performance counters/simulatie Realisaties Besluit. 1.1 Probleemstelling. Cachegedrag = onzichtbaar

cody-duffy
Download Presentation

Realtime cache visualisatie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  4. 1.2 Doelstelling • Cachegedrag visualiseren • Visualisatie versnellen • Opmeten versnellen • Het interactieve aspect uitbreiden • De gebruiker feedback geven over de resultaten

  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

  6. Soorten cachemissers • Koude misser • 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 VTUNE Simulatie Performance Counters Cache Visualizer 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: • 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 1000000000 L2_MISSES L3_MISSES LINENO 0x0000000000d4e6ec 0x0000000000342125 0x0000000001b23801 0x000000000069da36 0x0000000002879d6c 0x0000000000a01cff 0x000000000365323a 0x0000000000d4de6d 0x00000000043fb4ae 0x00000000010af6fb 0x00000000051a7094 0x000000000141283c 0x0000000005f4e422 0x000000000177722b 0x0000000006cff102 0x0000000001adca69 0x0000000007ab843a 0x0000000001e3b32d 0x000000000883b1e6 0x00000000021987f8 0x00000000095c66e9 0x00000000024f7a6d 0x000000000a34d959 0x0000000002850eda 0x000000000b0cb7cc 0x0000000002ba19fb 0x000000000be19468 0x0000000002effae5 0x000000000cb7a695 0x0000000003260b0d … 0x00000000496003f1 0x000000001186b01b 0x000000004a4d4429 0x0000000011bcebcc ---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:476 /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:476 /export/home1/pds02/jovermei/benchmarks/179.art/src/scanner.c:414 … 1000000000 L2_MISSES L3_MISSES LINENO 13952748,3416357,scanner.c:476 28456961,6937142,scanner.c:407 56963642,13950573,scanner.c:476 71283886,17495803,scanner.c:436 85618836,21047356,scanner.c:113 99935266,24605227,scanner.c:476 114290946,28166761,scanner.c:414 128681018,31699757,scanner.c:476 142848486,35227640,scanner.c:449 157050601,38763117,scanner.c:444 171235673,42274522,scanner.c:452 185382860,45750779,scanner.c:476 199332968,49281765,scanner.c:476 213362325,52824845,scanner.c:476 227464823,56323493,scanner.c:468 241407246,59877660,scanner.c:475 255292739,63429075,scanner.c:476 269358947,66914016,scanner.c:476 283677975,70414311,scanner.c:476 297913997,73924201,scanner.c:476 311970524,77441248,scanner.c:407 326073246,80944903,scanner.c:476 340193888,84454578,scanner.c:476 354258270,87965553,scanner.c:476 368591983,91477793,scanner.c:476 382790990,95017232,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. 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

More Related