Det växande hastighetsgapet mellan minne och processor gör en effektiv användning av cache ännu viktigare för att nå hög prestanda. Ett av de viktigaste sätten att förbättra cachebeteendet är att öka datalokaliseringen. Medan många cache analysverktyg har utvecklats, de flesta av dem bara anger de platser i koden där cache missar inträffar. Ofta, optimera programmet, även efter att ha markerat cache flaskhalsar i källkoden, förblir svårt med dessa verktyg. I detta dokument presenterar vi två relaterade verktyg som inte bara anger platser för cache missar, men också föreslår källkod refaktorings som förbättrar temporal lokalitet och därmed eliminerar majoriteten av cache missar. I båda verktygen är nyckeln till att hitta lämpliga refaktorings en analys av koden som utförs mellan en dataanvändning och nästa användning av samma data, som vi kallar Intermediately Executed Code (IEC). Det första verktyget, Återanvändning Distans VISualizer (RD-VIS), utför en klusterering på IECs, vilket minskar mängden arbete för att hitta nödvändiga refaktorings. Det andra verktyget, SLO (kort för "Förslag för lokala optimeringar"), föreslår ett antal refaktorings genom att analysera anropsgrafen och loopstrukturen i IEC. Med hjälp av dessa verktyg har vi identifierat de viktigaste optimeringarna för ett antal SPEC2000-program, vilket resulterar i en genomsnittlig hastighetsökning på 2,3 på ett antal olika plattformar.
Beyls och D'Hollander REF beskriver RDVIS, ett verktyg för att visualisera återanvändning av distansinformation som samlats in baserat på den förmedlande koden (IEC) mellan två åtkomster till samma data, och SLO, ett verktyg som föreslår lokala optimeringar baserade på analysen av IEC.
Intermediately executed code is the key to find refactorings that improve temporal data locality
{'venue': "CF '06", 'journal': None, 'mag_field_of_study': ['Computer Science']}