Hårdvarutrender har skapat en ökande skillnad mellan processorhastigheter och minnesåtkomsttider. Medan en mängd olika tekniker för att tolerera eller minska minne latens har föreslagits, dessa är sällan framgångsrika för pekar-manipulerande program. I detta dokument undersöks ett kompletterande tillvägagångssätt som angriper problemets källa (dålig referensort) snarare än dess manifestation (minneslatens). Det visar att noggrann data organisation och layout ger en viktig mekanism för att förbättra cache lokaliseringen av pekar-manipulerande program och följaktligen deras prestanda. Den utforskar två placering teknik-lustering och colorinet förbättra cache prestanda genom att öka en pekarstruktur rumsliga och temporal lokalitet, och genom att minska cache-konflikter. För att minska kostnaden för att tillämpa dessa tekniker, diskuterar detta papper två strategier-cache-medveten omorganisation och cachemedvetet tilldelning--och beskriver två semi-automatiska verktygccmorph och ccmalloc-som använder dessa strategier för att producera cache-medvetet pekarstruktur layouter. ccmorph är en transparent träd omorganiserare som använder topologi information för att kluster och färga strukturen. ccmalloc är en cachemedveten högallokator som försöker samlokalisera samtidigt åtkomliga dataelement i samma fysiska cacheblock. Våra utvärderingar, med mikrobenchmarks, flera små riktmärken, och ett par stora real-world-applikationer, visar att de cache-medvetna strukturlayouter som produceras av ccmorph och ccmalloc erbjuder stora prestandafördelar i de flesta fall, betydligt överträffande state-of-the-art prefetching.
Omorganisation och cache-medvetet minne allokering har undersökts REF.
Cache-conscious structure layout
{'venue': "PLDI '99", 'journal': None, 'mag_field_of_study': ['Computer Science']}