Icke-uniforma minnesåtkomst (NUMA) arkitekturer utgör många prestandautmaningar för main-minne kolumn-butiker för att skala upp analys på moderna multi-socket multi-core servrar. En NUMA-medveten exekveringsmotor behöver en strategi för dataplacering och aktivitetsplanering som föredrar snabb lokal minnesåtkomst över fjärrminnesåtkomst, och undviker en obalans i resursutnyttjandet, både CPU och minnesbandbredd, över uttag. State-of-the-art system använder vanligtvis en statisk strategi som alltid partitionerar data över uttag, och alltid tillåter inter-socket uppgift stjäla. I detta dokument visar vi att en anpassning av dataplacering och uppgiftsstöld till arbetsbelastningen kan förbättra genomströmningen med upp till en faktor på 4 jämfört med ett statiskt tillvägagångssätt. Vi fokuserar på mycket samtidig arbetsbelastning som domineras av operatörer som arbetar på en enda tabell eller tabellgrupp (sammanställda tabeller). Vår adaptiva dataplaceringsalgoritm spårar resursutnyttjandet av uppgifter, partitioner av tabeller och tabellgrupper, och uttag. När en utnyttjande obalans över uttag upptäcks, algoritmen korrigerar det genom att flytta eller omfördelning tabeller. Också, inter-socket uppgift stjäla är dynamiskt inaktiverat för minnesintensiva uppgifter som annars skulle kunna skada prestanda.
Psaroudakis m.fl. REF utvecklade tekniker för adaptiv dataplacering och work-stealing för att åtgärda obalans i resursutnyttjandet.
Adaptive NUMA-aware data placement and task scheduling for analytical workloads in main-memory column-stores
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}