Q100: The Architecture and Design of a DATABASE PROCESSING UNIT Lisa Wu, Andrea Lottarini, Tim Paine, Martha Kim, and Ken Ross Columbia University, NYC 1 Thursday, March 6, 2014
DPUs are analogous to GPUs Graphics Database Workloads Workloads CPU GPU CPU DPU 02/27/14 Columbia University 2 Thursday, March 6, 2014
Q100: A Stream-Based DPU 02/27/14 Columbia University 3 Thursday, March 6, 2014
Q100: A Stream-Based DPU • Accelerates analytic queries 02/27/14 Columbia University 3 Thursday, March 6, 2014
Q100: A Stream-Based DPU • Accelerates analytic queries The sale of Sales an airline Projection ticket Transactional Analytic Processing Processing 02/27/14 Columbia University 3 Thursday, March 6, 2014
Q100: A Stream-Based DPU • Accelerates analytic queries • Direct hardware support for relational operators 02/27/14 Columbia University 3 Thursday, March 6, 2014
Q100: A Stream-Based DPU • Accelerates analytic queries • Direct hardware support for relational operators JOIN SORT SELECT AGGRE- GATE 02/27/14 Columbia University 3 Thursday, March 6, 2014
Q100: A Stream-Based DPU • Accelerates analytic queries • Direct hardware support for relational operators • Processes data as streams 02/27/14 Columbia University 3 Thursday, March 6, 2014
Q100: A Stream-Based DPU • Accelerates analytic queries • Direct hardware support for relational operators • Processes data as streams IN OUT Relational Operator 02/27/14 Columbia University 3 Thursday, March 6, 2014
Q100: A Stream-Based DPU • Accelerates analytic queries • Direct hardware support for relational operators • Processes data as streams • Combines spatial and temporal instructions to form a DPU ISA 02/27/14 Columbia University 3 Thursday, March 6, 2014
Query SELECT s_season, SUM(s_qty) as sum_qty FROM sales WHERE s_shipdate >= ‘2013-01-01’ GROUP BY s_season ORDER BY s_season 02/27/14 Columbia University 4 Thursday, March 6, 2014
Query SELECT s_season, SUM(s_qty) as sum_qty FROM sales WHERE s_shipdate >= ‘2013-01-01’ GROUP BY s_season Plan ORDER BY s_season SALES Table2 Col6 Col Col1 Col4 Col Col SelectCol Agg Col7 Select Filter Select Parti- Append Table3 Col5 tion Col8 Col2 Col Col Col Table6 SelectCol Col9 Table1 Agg Select Filter Select Table4 Bool1 Append Col3 Col10 Col Col Bool SelectCol Table7 Select Gen Agg Col11 Stitch Select Append Table5 Col12 Col SelectCol Final Agg Col13 Answer Select 02/27/14 Columbia University 4 Thursday, March 6, 2014
Query SELECT s_season, SUM(s_qty) as sum_qty FROM sales WHERE s_shipdate >= ‘2013-01-01’ GROUP BY s_season Plan ORDER BY s_season SALES Table2 Col6 Col Col1 Col4 Col Col SelectCol Agg Col7 Select Filter Select Parti- Append Table3 Col5 tion Col8 Col2 Col Col Col Table6 SelectCol Col9 Table1 Agg Select Filter Select Table4 Bool1 Append Col3 Col10 Col Col Bool SelectCol Table7 Select Gen Agg Col11 Stitch Select Nodes = Relational Operators Append Table5 Col12 Col Edges = Data Dependencies SelectCol Final Agg Col13 Answer Select 02/27/14 Columbia University 4 Thursday, March 6, 2014
SALES Table2 Col6 Query Col Col1 Col4 Col Col SelectCol Agg Col7 Select Filter Select Parti- Append Table3 Col5 tion Col8 Col2 Col Col Col Table6 SelectCol Table1 Col9 Agg Select Filter Select Table4 Bool1 Append Col3 Col10 Col Col Bool SelectCol Table7 Agg Select Gen Col11 Stitch Select Plan Append Table5 Col12 Col SelectCol Final Col13 Agg Answer Select Q100 MEMORY Program Q100 Device INTERCONNECT MEMORY 02/27/14 Columbia University 5 Thursday, March 6, 2014
SALES Table2 Col6 Query Col Col1 Col4 Col Col SelectCol Agg Col7 Select Filter Select Parti- Append Table3 Col5 tion Col8 Col2 Col Col Col Table6 SelectCol Table1 Col9 Agg Select Filter Select Table4 Bool1 Append Col3 Col10 Col Col Bool SelectCol Table7 Agg Select Gen Col11 Stitch Select Plan Append Table5 Col12 Col SelectCol Final Col13 Agg Answer Select Q100 MEMORY Program Q100 Device INTERCONNECT MEMORY 02/27/14 Columbia University 5 Thursday, March 6, 2014
SALES Table2 Col6 Query Col Col1 Col4 Col Col SelectCol Agg Col7 Select Filter Select Parti- Append Table3 Col5 tion Col8 Col2 Col Col Col Table6 SelectCol Table1 Col9 Agg Select Filter Select Table4 Bool1 Append Col3 Col10 Col Col Bool SelectCol Table7 Agg Select Gen Col11 Stitch Select Plan Append Table5 Col12 Col SelectCol Final Col13 Agg Answer Select Q100 MEMORY Program Q100 Device INTERCONNECT MEMORY 02/27/14 Columbia University 5 Thursday, March 6, 2014
Query SALES Table2 Col6 Col Col1 Col4 Col Col SelectCol Agg Col7 Select Filter Select Parti- Append Table3 Col5 tion Col8 Col2 Col Col Col Table6 SelectCol Col9 Table1 Agg Select Filter Plan Select Table4 Bool1 Append Col3 Col10 Col Col Bool SelectCol Table7 Select Gen Agg Col11 Stitch Select Append Table5 Col12 Col SelectCol Final Agg Col13 Q100 Answer Select Program 02/27/14 Columbia University 6 Thursday, March 6, 2014
Query SALES Table2 Col6 Col Col1 Col4 Col Col SelectCol Agg Col7 Select Filter Select Parti- Append Table3 Col5 tion Col8 Col2 Col Col Col Table6 SelectCol Col9 Table1 Agg Select Filter Plan Select Table4 Bool1 Append Col3 Col10 Col Col Bool SelectCol Table7 Select Gen Agg Col11 Stitch Select Append Table5 Col12 Spatial Col SelectCol Final Agg Col13 Q100 Answer Select Instructions Program 02/27/14 Columbia University 6 Thursday, March 6, 2014
Query SALES Table2 Col6 Col Col1 Col4 Col Col SelectCol Agg Col7 Select Filter Select Parti- Append Table3 Col5 tion Col8 Col2 Col Col Col Table6 SelectCol Col9 Table1 Agg Select Filter Plan Select Table4 Bool1 Append Col3 Col10 Col Col Bool SelectCol Table7 Select Gen Agg Col11 Stitch Select Append Table5 Col12 Spatial Col SelectCol Final Agg Col13 Q100 Answer Select Instructions Program Temporal Instructions 02/27/14 Columbia University 6 Thursday, March 6, 2014
Query SALES Table2 Col6 Col Col1 Col4 Col Col SelectCol Agg Col7 Select Filter Select Parti- Append Table3 Col5 tion Col8 Col2 Col Col Col Table6 SelectCol Col9 Table1 Agg Select Filter Plan Select Table4 Bool1 Append Col3 Col10 Col Col Bool SelectCol Table7 Select Gen Agg Col11 Stitch Select Append Table5 Col12 Spatial Col SelectCol Final Agg Col13 Q100 Answer Select Instructions Program Temporal Instructions 02/27/14 Columbia University 6 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE 02/27/14 Columbia University 7 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE 02/27/14 Columbia University 7 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE 02/27/14 Columbia University 7 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE Partitioned Tables Temp Column 02/27/14 Columbia University 7 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE Partitioned Tables Temp Column 02/27/14 Columbia University 7 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE Read datum once, perform multiple Partitioned Tables Temp Column operations 02/27/14 Columbia University 7 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE Read datum once, perform multiple Partitioned Tables Temp Column operations Pipeline Parallelism Temp Table 02/27/14 Columbia University 7 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE Read datum once, perform multiple Partitioned Tables Temp Column operations Pipeline Parallelism Data Temp Column Temp Table Parallelism 02/27/14 Columbia University 7 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE Read datum once, perform multiple Partitioned Tables Temp Column operations Pipeline Parallelism Data Temp Column Temp Table Parallelism Minimize Spills/Fills 02/27/14 Columbia University 7 Thursday, March 6, 2014
Q100 Execution and Efficiencies MEMORY SALES TABLE Read datum once, perform multiple Partitioned Tables Temp Column operations Pipeline Parallelism Data Temp Column Temp Table Parallelism Minimize Spills/Fills Use coarse-grain hardware primitives that operate on coarse-grain data 02/27/14 Columbia University 7 Thursday, March 6, 2014
How do we generate these How do we How do we query plans? schedule the implement these plans? operators? MEMORY INTER- CONNECT MEMORY How many tiles What kind of should there be and interconnect Is the Q100 of what type? should we use? performance and energy efficient? 02/27/14 Columbia University 8 Thursday, March 6, 2014
Recommend
More recommend