Genomföra parallella operatörer i flerkärniga maskiner innebär ofta en datapartitionering steg som delar in data i cache-storlek block och ordnar dem så att samtidiga trådar för att bearbeta dem parallellt. Datadelning är dyrt, i vissa fall upp till 90 % av kostnaden för t.ex. en parallell hash-anslutning. I detta dokument undersöker vi användningen av en FPGA för att påskynda datapartitionering. Vi gör det i samband med nya hybridarkitekturer där FPGA ligger som en medprocessor bosatt på ett uttag och med sammanhängande tillgång till samma minne som CPU som finns på det andra uttaget. En sådan arkitektur minskar dataöverföring overheads mellan CPU och FPGA, vilket möjliggör hybrid operatör utförande där partitioneringen sker på FPGA och bygg-och sondfaserna av en gå hända på CPU. Våra experiment visar att FPGA-baserad partitionering är betydligt snabbare och mer robust än processorbaserad partitionering. Resultaten öppnar intressanta alternativ som FPGAs gradvis integreras hårdare med CPU.
Ett annat arbete REF använder FPGA för att tillhandahålla en robust hashmekanism för att påskynda datapartitionering i databasmotorer.
FPGA-based Data Partitioning
{'venue': "SIGMOD '17", 'journal': None, 'mag_field_of_study': ['Computer Science']}