Vår analys visar att många "big-memory" server arbetsbelastningar, såsom databaser, in-memory caches, och grafanalys, betalar en hög kostnad för sidbaserade virtuella minne. De konsumerar så mycket som 10% av utförande cykler på TLB missar, även med hjälp av stora sidor. Å andra sidan finner vi att dessa arbetsbelastningar använder läs-och skrivbehörighet på de flesta sidor, är avsedda att inte byta, och sällan dra nytta av den fulla flexibiliteten i sidbaserade virtuella minne. För att ta bort TLB missar overhead för stora minnesarbetsbelastningar föreslår vi att man kartlägger en del av en processs linjära virtuella adressutrymme med ett direkt segment, medan sidan kartlägger resten av det virtuella adressutrymmet. Direkta segment använder minimal hårdvara-bas, begränsa och kompensera register per kärna-till karta sammanhängande virtuella minnesregioner direkt till angränsande fysiska minne. De eliminerar möjligheten för TLB missar för viktiga datastrukturer såsom databasbuffert pooler och in-minne nyckel-värde butiker. Minne kartlagt av en direkt segment kan konverteras tillbaka till personsökning vid behov. Vi prototyper direkt-segment programvara stöd för x86-64 i Linux och emulera direkt-segment hårdvara. För vår arbetsbelastning eliminerar de direkta segmenten nästan alla TLB-fel och minskar den tid som slösas bort på TLB-fel till mindre än 0,5 %.
Det arbete som presenteras i REF tar bort TLB miss overhead för stora minnesarbetsbelastningar.
Efficient virtual memory for big memory servers
{'venue': 'ISCA', 'journal': None, 'mag_field_of_study': ['Computer Science']}