beyond the wall
play

Beyond the Wall: Near-Data Processing for Databases Sam Xi , - PowerPoint PPT Presentation

Beyond the Wall: Near-Data Processing for Databases Sam Xi , Ore Babarinsa, Manos Athanassoulis , Stratos Idreos HARVARD UNIVERSITY 1 Memory Wall Memory Wall HARVARD


  1. Beyond ¡the ¡Wall: ¡ Near-­‑Data ¡Processing ¡for ¡Databases Sam ¡Xi , ¡Ore ¡Babarinsa, ¡ Manos ¡Athanassoulis , ¡Stratos Idreos HARVARD ¡UNIVERSITY 1

  2. Memory ¡Wall

  3. Memory ¡Wall HARVARD ¡UNIVERSITY 3

  4. Row ¡store Column ¡store tuple tuple HARVARD ¡UNIVERSITY 4

  5. Memory-­‑optimized ¡data ¡systems HARVARD ¡UNIVERSITY 5

  6. Data ¡access ¡ remains ¡ the ¡bottleneck HARVARD ¡UNIVERSITY 6

  7. σ Σ π HARVARD ¡UNIVERSITY 7

  8. We ¡are ¡not ¡the ¡first ¡to ¡visit ¡this ¡pyramid! HARVARD ¡UNIVERSITY 8

  9. Intelligent ¡RAM DIVA Near-­‑data ¡ processing RADram Logic-­‑in-­‑memory Terasys HARVARD ¡UNIVERSITY 9

  10. Why ¡did ¡NDP ¡not ¡take ¡off? DRAM Logic Leakage Low High Switching ¡speed Slow Fast Fabrication ¡processes ¡are ¡incompatible HARVARD ¡UNIVERSITY 10

  11. 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

  12. HARP Q100 Widx Our ¡approach Ibex HARVARD ¡UNIVERSITY 12

  13. Outline Intro NDP ¡for ¡data ¡systems: ¡Past ¡and ¡present The ¡architecture ¡of ¡JAFAR Experimental ¡results Conclusion HARVARD ¡UNIVERSITY 13

  14. 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

  15. 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

  16. 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

  17. 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

  18. JAFAR: ¡Overall ¡design CPU CPU CPU CPU Last ¡level ¡cache System ¡bus ¡+ ¡memory ¡controller JAFAR JAFAR DRAM DRAM HARVARD ¡UNIVERSITY 18

  19. 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

  20. 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

  21. 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

  22. Handling ¡multiple ¡modules CPU CPU CPU CPU Last ¡level ¡cache System ¡bus ¡+ ¡memory ¡controller JAFAR JAFAR DRAM DRAM HARVARD ¡UNIVERSITY 22

  23. 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

  24. 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

  25. 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

  26. Experimental ¡setup Simulation ¡framework gem5 Out-­‑of-­‑order ¡CPU Classic ¡cache ¡model SimpleDRAM HARVARD ¡UNIVERSITY 26

  27. 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

  28. Experimental ¡results HARVARD ¡UNIVERSITY 28

  29. Memory ¡contention Scheduling ¡of ¡ownership ¡transfers ¡will ¡be ¡ important What ¡would ¡JAFAR’s ¡performance ¡look ¡like ¡ without a ¡scheduler? HARVARD ¡UNIVERSITY 29

  30. Memory ¡contention Memory ¡requests Memory ¡requests CPU Idle ¡period JAFAR ¡can ¡execute HARVARD ¡UNIVERSITY 30

  31. Idle ¡periods ¡on ¡TPC-­‑H HARVARD ¡UNIVERSITY 31

  32. JAFAR ¡as ¡a ¡framework More ¡operators Aggregations ü Projections ü ü Sort ? Joins HARVARD ¡UNIVERSITY 32

  33. 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

  34. NDP ¡is ¡an ¡exciting ¡opportunity ¡for ¡ innovation ¡in ¡data ¡systems HARVARD ¡UNIVERSITY 34

  35. 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

  36. Thank ¡you HARVARD ¡UNIVERSITY 36

Recommend


More recommend