handling the data deluge
play

Handling the data deluge Data stored in data centers is growing at a - PowerPoint PPT Presentation

Shredder GPU-Accelerated Incremental Storage and Computation Pramod Bhatotia , Rodrigo Rodrigues , Akshat Verma MPI-SWS, Germany IBM Research-India USENIX FAST 2012 Handling the data deluge Data stored in data


  1. Shredder GPU-Accelerated Incremental Storage and Computation Pramod Bhatotia § , Rodrigo Rodrigues § , Akshat Verma ¶ § MPI-SWS, Germany ¶ IBM Research-India USENIX ¡FAST ¡2012 ¡

  2. Handling the data deluge • Data stored in data centers is growing at a fast pace • Challenge: How to store and process this data ? • Key technique: Redundancy elimination • Applications of redundancy elimination • Incremental storage: data de-duplication • Incremental computation: selective re-execution Pramod Bhatotia 2

  3. Redundancy elimination is expensive Duplicate ¡ Chunks ¡ File ¡ Hash ¡ Yes ¡ Chunking ¡ Hashing ¡ Matching ¡ No ¡ Content-based chunking [SOSP’01] Fingerprint ¡ 0 ¡ ¡1 ¡ ¡0 ¡ ¡1 ¡ ¡1 ¡ ¡0 ¡ ¡1 ¡ ¡0 ¡ ¡1 ¡ ¡1 ¡ ¡0 ¡ ¡0 ¡ ¡1 ¡ ¡1 ¡ ¡0 ¡ ¡1 ¡ ¡1 ¡ ¡0 ¡ ¡0 ¡ ¡1 ¡ ¡0 ¡ ¡1 ¡ ¡1 ¡ ¡1 ¡ ¡1 ¡ ¡0 ¡ ¡1 ¡ ¡1 ¡ ¡0 ¡ ¡1 ¡ ¡0 ¡ ¡1 ¡ ¡0 ¡ ¡ ¡File ¡ Content ¡ Marker ¡ For large-scale data, chunking easily becomes a bottleneck Pramod Bhatotia 3

  4. Accelerate chunking using GPUs GPUs have been successfully applied to compute-intensive tasks 3 ¡ 20Gbps ¡(2.5GBps) ¡ ¡ Storage ¡ 2.5 ¡ Servers ¡ 2 ¡ ? ¡ GBps ¡ 1.5 ¡ 1 ¡ 2X ¡ 0.5 ¡ 0 ¡ MulEcore ¡ GPU ¡based ¡design ¡ Using GPUs for data-intensive tasks presents new challenges Pramod Bhatotia 4

  5. Rest of the talk • Shredder design • Basic design • Background: GPU architecture & programming model • Challenges and optimizations • Evaluation • Case studies • Computation: Incremental MapReduce • Storage: Cloud backup Pramod Bhatotia 5

  6. Shredder basic design CPU ¡(Host) ¡ GPU ¡(Device) ¡ Transfer ¡ Chunking ¡ Reader ¡ kernel ¡ Store ¡ Data ¡for ¡ ¡ Chunked ¡ chunking ¡ data ¡ Pramod Bhatotia 6

  7. GPU architecture GPU ¡(Device) ¡ Host ¡memory ¡ MulE-­‑processor ¡ ¡N ¡ Device ¡ ¡ ¡ global ¡ ¡ MulE-­‑processor ¡ ¡2 ¡ memory ¡ MulE-­‑processor ¡ ¡1 ¡ CPU ¡ ¡ (Host) ¡ Shared ¡memory ¡ PCI ¡ ¡ ¡ SP ¡ SP ¡ SP ¡ SP ¡ Pramod Bhatotia 7

  8. GPU programming model GPU ¡(Device) ¡ Host ¡memory ¡ MulE-­‑processor ¡ ¡N ¡ Input ¡ Device ¡ ¡ ¡ global ¡ ¡ MulE-­‑processor ¡ ¡2 ¡ memory ¡ MulE-­‑processor ¡ ¡1 ¡ CPU ¡ ¡ (Host) ¡ Shared ¡memory ¡ PCI ¡ ¡ ¡ Output ¡ SP ¡ SP ¡ SP ¡ SP ¡ Threads ¡ Pramod Bhatotia 8

  9. Scalability challenges 1. Host-device communication bottlenecks 2. Device memory conflicts (See ¡paper ¡for ¡details) ¡ 3. Host bottlenecks Pramod Bhatotia 9

  10. Challenge ¡# ¡1 ¡ Host-device communication bottleneck CPU ¡(Host) ¡ GPU ¡(Device) ¡ Main ¡ Device ¡ ¡ memory ¡ Chunking ¡ Transfer ¡ global ¡ ¡ kernel ¡ PCI ¡ memory ¡ Reader ¡ I/O ¡ Synchronous data transfer and kernel execution • Cost of data transfer is comparable to kernel execution • For large-scale data it involves many data transfers Pramod Bhatotia 10

  11. Asynchronous execution GPU ¡(Device) ¡ CPU ¡(Host) ¡ Asynchronous ¡ Device ¡global ¡memory ¡ copy ¡ Main ¡ Transfer ¡ Buffer ¡1 ¡ Buffer ¡2 ¡ memory ¡ Copy ¡to ¡ ¡ Copy ¡to ¡ ¡ Pros: Buffer ¡1 ¡ Buffer ¡2 ¡ Time ¡ + Overlaps communication with computation + Generalizes to multi-buffering Compute ¡ Compute ¡ Buffer ¡1 ¡ Buffer ¡2 ¡ Cons: - Requires page-pinning of buffers at host side Pramod Bhatotia 11

  12. Circular ring pinned memory buffers CPU ¡(Host) ¡ Memcpy ¡ GPU ¡(Device) ¡ Asynchronous ¡ copy ¡ Device ¡global ¡ ¡ memory ¡ Pinned circular Ring buffers Pageable buffers Pramod Bhatotia 12

  13. Challenge ¡# ¡2 ¡ Device memory conflicts CPU ¡(Host) ¡ GPU ¡(Device) ¡ Main ¡ Device ¡ ¡ memory ¡ Chunking ¡ Transfer ¡ global ¡ ¡ kernel ¡ PCI ¡ memory ¡ Reader ¡ I/O ¡ Pramod Bhatotia 13

  14. Accessing device memory Device ¡global ¡memory ¡ 400-­‑600 ¡ Thread-­‑1 ¡ Thread-­‑3 ¡ Thread-­‑2 ¡ Cycles ¡ Thread-­‑4 ¡ Few ¡ Device ¡shared ¡memory ¡ cycles ¡ ¡ ¡ SP-­‑1 ¡ SP-­‑2 ¡ SP-­‑3 ¡ SP-­‑4 ¡ MulE-­‑processor ¡ ¡ Pramod Bhatotia 14

  15. Memory bank conflicts Device ¡global ¡memory ¡ Un-coordinated accesses to global memory lead to a large number of memory bank conflicts Device ¡shared ¡memory ¡ ¡ ¡ SP ¡ SP ¡ SP ¡ SP ¡ MulE-­‑processor ¡ ¡ Pramod Bhatotia 15

  16. Accessing memory banks Interleaved ¡memory ¡ Bank ¡2 ¡ Bank ¡3 ¡ Bank ¡0 ¡ Bank ¡1 ¡ 3 ¡ 2 ¡ 1 ¡ Memory ¡ 0 ¡ 7 ¡ 6 ¡ 5 ¡ address ¡ 4 ¡ 8 ¡ Chip ¡ enable ¡ OR ¡ MSBs ¡ LSBs ¡ Data ¡out ¡ Address ¡ Pramod Bhatotia 16

  17. Memory coalescing Device ¡global ¡memory ¡ Thread ¡# ¡ 3 ¡ 4 ¡ 1 ¡ 2 ¡ Time ¡ Memory ¡ coalescing ¡ Device ¡shared ¡memory ¡ Pramod Bhatotia 17

  18. Processing the data Thread-­‑1 ¡ Thread-­‑2 ¡ Thread-­‑3 ¡ Thread-­‑4 ¡ Device ¡shared ¡memory ¡ Pramod Bhatotia 18

  19. Outline • Shredder design • Evaluation • Case-studies Pramod Bhatotia 19

  20. Evaluating Shredder • Goal: Determine how Shredder works in practice (See ¡paper ¡for ¡details) ¡ • How effective are the optimizations? • How does it compare with multicores? • Implementation • Host driver in C++ and GPU in CUDA • GPU: NVidia Tesla C2050 cards • Host machine: Intel Xeon with12 cores Pramod Bhatotia 20

  21. Shredder vs. Multicores 2.5 ¡ 2 ¡ 1.5 ¡ GBps ¡ 5X ¡ ¡ 1 ¡ 0.5 ¡ 0 ¡ MulEcore ¡ GPU ¡Basic ¡ GPU ¡Async ¡ GPU ¡Async ¡+ ¡ Coalescing ¡ Pramod Bhatotia 21

  22. Outline • Shredder design • Evaluation • Case studies • Computation: Incremental MapReduce (See ¡paper ¡for ¡details) ¡ • Storage: Cloud backup Pramod Bhatotia 22

  23. Incremental MapReduce Read input Map tasks Reduce tasks Write ¡output ¡ Pramod Bhatotia 23

  24. Unstable input partitions Read input Map tasks Reduce tasks Write ¡output ¡ Pramod Bhatotia 24

  25. GPU accelerated Inc-HDFS Input ¡file ¡ ¡ copyFromLocal ¡ Shredder ¡ HDFS ¡Client ¡ ¡ Content-­‑based ¡chunking ¡ Split-­‑3 ¡ Split-­‑1 ¡ Split-­‑2 ¡ Pramod Bhatotia 25

  26. Related work • GPU-accelerated systems • Storage: Gibraltar [ICPP’10], HashGPU [HPDC’10] • SSLShader[NSDI’11], PacketShader[SIGCOMM’10], … • Incremental computations • Incoop[SOCC’11], Nectar[OSDI’10], Percolator[OSDI’10],… Pramod Bhatotia 26

  27. Conclusions • GPU-accelerated framework for redundancy elimination • Exploits massively parallel GPUs in a cost-effective manner • Shredder design incorporates novel optimizations • More data-intensive than previous usage of GPUs • Shredder can be seamlessly integrated with storage systems • To accelerate incremental storage and computation Pramod Bhatotia 27

  28. Thank Y ou!

Recommend


More recommend