I framväxande och framtida avancerade processorsystem, tolerera ökande cache miss latency och korrekt hantering av minnesbandbredd kommer att vara avgörande för att uppnå hög prestanda. Prefetching, i både hårdvara och programvara, är bland våra viktigaste tillgängliga tekniker för att göra det, men ändå hävdar vi att prefetching är kanske också den minst välförstådda. Målet med denna studie är därför att utveckla en ny, grundläggande förståelse av både fördelarna och begränsningarna med hårdvaru- och programvaruförhämtning. Vår studie inkluderar: källkod-nivå analys, för att hjälpa till att förstå de praktiska styrkor och svagheter i kompilator- och programvarubaserade prefetching; en studie av synergistiska och antagonistiska effekter mellan programvara och hårdvara prefetching; och en utvärdering av hårdvara prefetching utbildningsprinciper i närvaro av programvara prefetching förfrågningar. Vi använder både simulering och mätning på verkliga system. Vi finner till exempel att även om det finns många möjligheter för kompilatorer att förbereda sig mycket mer aggressivt än vad de för närvarande gör, finns det också en påtaglig risk för störningar i utbildningen av befintliga mekanismer för förhämtning av hårdvara. Sammantaget föreslår våra observationer nya forskningsanvisningar för samarbetsbaserad hårdvara/programvara förhämtning.
Lee och Al. REF utvärderar fördelarna och begränsningarna med både programvara och maskinvaruförhämtningsmekanismer för framväxande avancerade processorsystem.
When Prefetching Works, When It Doesn’t, and Why
{'venue': 'TACO', 'journal': None, 'mag_field_of_study': ['Computer Science']}