Den vanliga LRU-ersättningspolicyn är känslig för thrashing för minnesintensiva arbetsbelastningar som har en arbetsuppsättning som är större än den tillgängliga cachestorleken. För sådana tillämpningar går de flesta linjer från MRU-position till LRU-position utan att ta emot några cacheträffar, vilket leder till ineffektiv användning av cacheutrymme. Cache-prestandan kan förbättras om en del av arbetssetet behålls i cache så att åtminstone den delen av arbetssetet kan bidra till cacheträffar. Vi visar att enkla ändringar av insättningspolitiken avsevärt kan minska cachefelen för minnesintensiva arbetsbelastningar. Vi föreslår LRU-insättningspolicyn (LIP) som placerar den inkommande linjen i LRU-positionen istället för MRU-positionen. LIP skyddar cache från thrashing och resulterar i nära till optimal hitrate för applikationer som har ett cykliskt referensmönster. Vi föreslår också Bimodal Inpution Policy (BIP) som en förbättring av LIP som anpassar sig till förändringar i arbetssetet samtidigt som det thrashing skyddet av LIP bibehålls. Vi föreslår slutligen en dynamisk insatspolitik (DIP) för att välja mellan BIP och den traditionella LRU-politiken beroende på vilken politik som medför färre fel. Den föreslagna insättningspolitiken kräver ingen ändring av den befintliga cachestrukturen, är triviala att genomföra och har ett lagringskrav på mindre än två byte. Vi visar att DIP minskar den genomsnittliga MPKI av baslinje 1MB 16-vägs L2-cache med 21%, vilket överbryggar två tredjedelar av gapet mellan LRU och OPT.
För att utnyttja egenskaperna föreslår arbetet en insättningspolicy för cache som prioriterar läsrader över skrivrader i cache, som baseras på Dynamic Inpution Policy (DIP) som föreslås i Reference Ref.
Adaptive insertion policies for high performance caching
{'venue': "ISCA '07", 'journal': None, 'mag_field_of_study': ['Computer Science']}