Beyond ¡the ¡Wall: ¡ Near-‑Data ¡Processing ¡for ¡Databases Sam ¡Xi , ¡Ore ¡Babarinsa, ¡ Manos ¡Athanassoulis , ¡Stratos Idreos HARVARD ¡UNIVERSITY 1
Memory ¡Wall
Memory ¡Wall HARVARD ¡UNIVERSITY 3
Row ¡store Column ¡store tuple tuple HARVARD ¡UNIVERSITY 4
Memory-‑optimized ¡data ¡systems HARVARD ¡UNIVERSITY 5
Data ¡access ¡ remains ¡ the ¡bottleneck HARVARD ¡UNIVERSITY 6
σ Σ π HARVARD ¡UNIVERSITY 7
We ¡are ¡not ¡the ¡first ¡to ¡visit ¡this ¡pyramid! HARVARD ¡UNIVERSITY 8
Intelligent ¡RAM DIVA Near-‑data ¡ processing RADram Logic-‑in-‑memory Terasys HARVARD ¡UNIVERSITY 9
Why ¡did ¡NDP ¡not ¡take ¡off? DRAM Logic Leakage Low High Switching ¡speed Slow Fast Fabrication ¡processes ¡are ¡incompatible HARVARD ¡UNIVERSITY 10
Moore’s ¡Law ¡+ ¡Dennard ¡scaling provided ¡consistent ¡performance ¡scaling ¡for ¡years Metric Scaling ¡factor Area 1/κ 2 Delay 1/κ Power 1 Moore’s ¡Law. Dennard ¡scaling. Not ¡the ¡case ¡anymore! HARVARD ¡UNIVERSITY 11
HARP Q100 Widx Our ¡approach Ibex HARVARD ¡UNIVERSITY 12
Outline Intro NDP ¡for ¡data ¡systems: ¡Past ¡and ¡present The ¡architecture ¡of ¡JAFAR Experimental ¡results Conclusion HARVARD ¡UNIVERSITY 13
Opportunity ¡for ¡NDP Query Lots ¡of ¡data Host ¡server Database … Filter ¡data ¡before ¡ Many ¡rows ¡fail ¡the ¡ query ¡predicate ¡and ¡ it ¡is ¡sent ¡to ¡CPU. are ¡discarded. HARVARD ¡UNIVERSITY 14
JAFAR: ¡“Just” ¡A ¡Filtering ¡ Accelerator ¡on ¡Relations CPU CPU CPU CPU Last ¡level ¡cache System ¡bus ¡+ ¡memory ¡controller JAFAR JAFAR DRAM DRAM HARVARD ¡UNIVERSITY 15
Rank Row ¡address ¡decoder Chip Bank ¡0 Bank ¡0 Bank ¡0 Bank ¡0 Sense ¡Amps Sense ¡Amps Sense ¡Amps Sense ¡Amps Column ¡address ¡decoder HARVARD ¡UNIVERSITY 16
Rank Bank Row ¡address ¡decoder Rank Bank ¡0 Array ¡0 Array ¡1 Bank ¡0 Bank ¡0 Bank ¡0 Sense ¡Amps Sense ¡Amps Sense ¡Amps Array ¡3 Array ¡2 Sense ¡Amps Column ¡address ¡decoder HARVARD ¡UNIVERSITY 17
JAFAR: ¡Overall ¡design CPU CPU CPU CPU Last ¡level ¡cache System ¡bus ¡+ ¡memory ¡controller JAFAR JAFAR DRAM DRAM HARVARD ¡UNIVERSITY 18
JAFAR ¡context RAS Bank ¡0 From ¡CPU Memory ¡ Bank ¡0 Bank ¡0 access ¡ Bank ¡0 arbiter Sense ¡Amps Sense ¡Amps Sense ¡Amps Sense ¡Amps CAS IO ¡buffer JAFAR HARVARD ¡UNIVERSITY 19
JAFAR ¡architecture From ¡IO ¡buffer Data ¡latch Right Left Opcode Opcode ALU ALU Comparison ¡is ¡true? page ¡offset ¡bitmask write ¡enable Page ¡offset ¡counter Output ¡buffer HARVARD ¡UNIVERSITY 20
Programming ¡JAFAR int errno = select_jafar( void* col_data, int range_low, int range_high, uint8_t* out_buf, size_t num_input_rows, size_t* num_output_rows); HARVARD ¡UNIVERSITY 21
Handling ¡multiple ¡modules CPU CPU CPU CPU Last ¡level ¡cache System ¡bus ¡+ ¡memory ¡controller JAFAR JAFAR DRAM DRAM HARVARD ¡UNIVERSITY 22
Handling ¡multiple ¡modules Fill ¡up ¡each ¡module ¡first CPU CPU CPU CPU Last ¡level ¡cache System ¡bus ¡+ ¡memory ¡controller JAFAR JAFAR DRAM DRAM HARVARD ¡UNIVERSITY 23
Handling ¡multiple ¡modules Interleave ¡data ¡across ¡modules CPU CPU CPU CPU Last ¡level ¡cache System ¡bus ¡+ ¡memory ¡controller JAFAR JAFAR DRAM DRAM HARVARD ¡UNIVERSITY 24
Coordinating ¡memory ¡access The ¡CPU ¡and ¡JAFAR ¡cannot ¡simultaneously ¡attempt ¡ to ¡access ¡memory. CPU ¡grants ¡JAFAR ¡ownership ¡to ¡a ¡DRAM ¡rank ¡for ¡a ¡ period ¡of ¡time. Possible ¡mechanism: ¡DRAM ¡mode ¡registers HARVARD ¡UNIVERSITY 25
Experimental ¡setup Simulation ¡framework gem5 Out-‑of-‑order ¡CPU Classic ¡cache ¡model SimpleDRAM HARVARD ¡UNIVERSITY 26
Experimental ¡setup Queries, ¡input ¡data, ¡and ¡database select * from table where column < n ; In-‑house ¡column ¡store ¡ database 0 1M 4 ¡million ¡rows ¡of ¡ unsorted ¡integers HARVARD ¡UNIVERSITY 27
Experimental ¡results HARVARD ¡UNIVERSITY 28
Memory ¡contention Scheduling ¡of ¡ownership ¡transfers ¡will ¡be ¡ important What ¡would ¡JAFAR’s ¡performance ¡look ¡like ¡ without a ¡scheduler? HARVARD ¡UNIVERSITY 29
Memory ¡contention Memory ¡requests Memory ¡requests CPU Idle ¡period JAFAR ¡can ¡execute HARVARD ¡UNIVERSITY 30
Idle ¡periods ¡on ¡TPC-‑H HARVARD ¡UNIVERSITY 31
JAFAR ¡as ¡a ¡framework More ¡operators Aggregations ü Projections ü ü Sort ? Joins HARVARD ¡UNIVERSITY 32
JAFAR ¡as ¡a ¡framework ¡ Data ¡types ¡and ¡layouts Row-‑stores ¡and ¡hybrids Multiple ¡filters ¡per ¡row Efficient ¡projections Variable ¡length ¡datatypes Process ¡on ¡CPU? HARVARD ¡UNIVERSITY 33
NDP ¡is ¡an ¡exciting ¡opportunity ¡for ¡ innovation ¡in ¡data ¡systems HARVARD ¡UNIVERSITY 34
NDP ¡is ¡a ¡promising ¡solution ¡to ¡the ¡ memory ¡wall ¡for ¡data ¡systems. JAFAR ¡provides ¡up ¡to ¡9x ¡speedup ¡on ¡ simple ¡select ¡queries. JAFAR ¡is ¡built ¡on ¡an ¡extensible ¡ framework ¡for ¡accelerating ¡data ¡systems. HARVARD ¡UNIVERSITY 35
Thank ¡you HARVARD ¡UNIVERSITY 36
Recommend
More recommend