Ett av de kritiska problemen i samband med nya chip multiprocessorer (CMP) är hanteringen av delade cacheutrymme på chip. Tyvärr, en processor centrerad data locality optimering system kanske inte fungerar bra i CMP fallet eftersom dataåtkomst från flera kärnor kan skapa konflikter i den delade cacheutrymme. Det viktigaste bidraget i detta dokument är ett system för att sammanställa riktad kodomstrukturering för att förbättra lokaliseringen av delade data i CMP. Det föreslagna systemet är inriktat på den sista nivån av delad cache som finns i många kommersiella CMP:er och har två komponenter, nämligen tilldelning, som bestämmer vilken uppsättning av loop iterationer som tilldelas varje kärna, och schemaläggning, som bestämmer i vilken ordning iterationer som tilldelas en kärna utförs. Vårt system omstrukturerar applikationskoden så att de olika kärnorna fungerar på delade datablock samtidigt, i den utsträckning som databeroendet tillåter. Detta bidrar till att minska återanvändningsavstånden för delade data och förbättrar prestandan för onchip-cache. Vi utvärderade vår strategi med hjälp av Splash-2 och Parsec applikationer genom både simuleringar och experiment på två kommersiella multi-core maskiner. Vår experimentella utvärdering visar att det föreslagna systemet för datalokaliseringsoptimering förbättrar konfliktfel i den delade cachen med i genomsnitt 67 % när både tilldelning och schemaläggning används. Dessutom är de tidsförbättringar vi uppnår (29 % i genomsnitt) mycket nära de optimala besparingar som skulle kunna uppnås med hjälp av ett hypotetiskt system.
REF omstrukturerar målkoden så att de olika kärnorna fungerar på delade datablock samtidigt.
Optimizing shared cache behavior of chip multiprocessors
{'venue': 'MICRO 42', 'journal': None, 'mag_field_of_study': ['Computer Science']}