Med modern datorarkitektur utvecklas, två problem konspirerar mot de state-of-the-art metoder i parallell frågeutförande: i) för att dra nytta av många kärnor, måste alla frågearbete fördelas jämnt mellan (snart) hundratals trådar för att uppnå god hastighet, men ii) dela arbetet jämnt är svårt även med korrekt datastatistik på grund av komplexiteten i moderna o-order kärnor. Som ett resultat av detta kommer de befintliga strategierna för "plandriven" parallellism att leda till belastningsbalansering och sammanhangsskiftande flaskhalsar, och därför inte längre till någon skala. Ett tredje problem som många centrala arkitekturer står inför är decentraliseringen av minneskontroller, vilket leder till icke-enformig minnesåtkomst (NUMA). Som svar presenterar vi den "morseldrivna" ramen för frågeutförande, där schemaläggning blir en finkornig körtid uppgift som är NUMA-medveten. Morseldriven frågebehandling tar små fragment av indata ("morsels") och schemalägger dessa till arbetare trådar som kör hela operatör pipelines till nästa rörledning brytaren. Graden av parallellism är inte bakad i planen men kan elastiskt förändras under frågeutförandet, så avsändaren kan reagera på utförandet hastighet av olika morseller men också justera resurser dynamiskt som svar på nyanlända frågor i arbetsbördan. Vidare är avsändaren medveten om datalokaliteten i NUMA-lokala morseller och operatörsstat, så att det stora flertalet avrättningar sker på NUMA-lokalt minne. Vår utvärdering av TPC-H och SSB-riktmärken visar extremt hög absolut prestanda och en genomsnittlig hastighetsökning på över 30 med 32 kärnor.
Leis m.fl. REF bryter indata i små fragment och tilldelar var och en en tråd för att köra hela operatörsrörledningar.
Morsel-driven parallelism: a NUMA-aware query evaluation framework for the many-core age
{'venue': 'SIGMOD Conference', 'journal': None, 'mag_field_of_study': ['Computer Science']}