I ett modernt chip-multiprocessor-system, minne är en delad resurs bland flera samtidigt utför trådar. Memory schemaläggningsalgoritmen bör lösa minnesfrågan genom att arbitrera minnesåtkomsten på ett sådant sätt att konkurrerande trådar utvecklas i en relativt snabb och jämn takt, vilket resulterar i hög systemgenomströmning och rättvisa. Tidigare föreslagna minnes schemaläggningsalgoritmer är huvudsakligen optimerade för endast ett av dessa mål: ingen schemaläggningsalgoritm ger bästa systemgenomströmning och bästa rättvisa samtidigt. I detta dokument presenteras en ny minnes schemaläggningsalgoritm som adresserar systemgenomströmning och rättvisa separat med målet att uppnå det bästa av båda. Huvudidén är att dela upp trådar i två separata kluster och använda olika minnesförfrågan schemaläggningspolicyer i varje kluster. Vårt förslag, Thread Cluster Memory schemaläggning (TCM), grupperar dynamiskt trådar med liknande minnesåtkomst beteende i antingen latenskänsliga (minne-icke-intensiva) eller bandbreddskänsliga (minnesintensiva) kluster. TCM introducerar tre stora idéer för prioritering: 1) vi prioriterar latenskänsliga kluster framför bandbreddskänsliga kluster för att förbättra systemgenomströmning; 2) vi introducerar en "finhet" metrisk som fångar en tråds benägenhet att störa andra trådar; 3) vi använder finhet för att periodvis blanda prioritetsordningen för trådarna i bandbreddskänsliga kluster för att ge rättvis tillgång till varje tråd på ett sätt som minskar intertrådsinterferens. Å ena sidan, prioriterar minne-icke-intensiva trådar avsevärt förbättrar systemgenomströmning utan förnedrande rättvisa, eftersom sådana "lätta" trådar bara använder en liten bråkdel av den totala tillgängliga minnesbandbredden. Å andra sidan, att blanda den prioriterade ordningen av minnesintensiva trådar förbättrar rättvisa eftersom det säkerställer att ingen tråd är oproportionerligt saktad ner eller svälter. Vi utvärderar TCM på ett brett utbud av multiprogrammerade arbetsbelastningar och jämför dess prestanda med fyra tidigare föreslagna schemaläggningsalgoritmer, vilket visar att TCM uppnår både bästa systemgenomströmning och rättvisa. I genomsnitt över 96 arbetsbelastningar på ett 24-kärnigt system med 4 minneskanaler förbättrar TCM systemgenomströmningen och minskar maximal avmattning med 4,6 %/38,6 % jämfört med ATLAS (tidigare arbete med bästa systemgenomströmning) och 7,6 %/4,6 % jämfört med PAR-BS (tidigare arbete som ger bästa rättvisa).
TCM REF, som dynamiskt grupperar virtuella maskiner i två kluster (minnesintensiva och CPU-intensiva), och tilldela olika schemaläggningspolicy till olika grupper, är den bästa schemaläggningspolicyn, som syftar till att ta itu med rättvisa och genomströmning samtidigt.
Thread Cluster Memory Scheduling: Exploiting Differences in Memory Access Behavior
{'venue': '2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture', 'journal': '2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture', 'mag_field_of_study': ['Computer Science']}