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

handling the data deluge
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Shredder

GPU-Accelerated Incremental Storage and Computation

Pramod Bhatotia§,

Rodrigo Rodrigues§, Akshat Verma¶

§MPI-SWS, Germany ¶IBM Research-India USENIX ¡FAST ¡2012 ¡

slide-2
SLIDE 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

slide-3
SLIDE 3

Redundancy elimination is expensive

Pramod Bhatotia 3

For large-scale data, chunking easily becomes a bottleneck

Content-based chunking [SOSP’01]

Content ¡ Marker ¡ Chunking ¡ File ¡ Chunks ¡ Hash ¡ Yes ¡ No ¡ Duplicate ¡ Hashing ¡ Matching ¡

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 ¡

Fingerprint ¡

slide-4
SLIDE 4

Accelerate chunking using GPUs

GPUs have been successfully applied to compute-intensive tasks

Pramod Bhatotia 4

0 ¡ 0.5 ¡ 1 ¡ 1.5 ¡ 2 ¡ 2.5 ¡ 3 ¡ MulEcore ¡ GPU ¡based ¡design ¡ GBps ¡

2X ¡

20Gbps ¡(2.5GBps) ¡ ¡ Using GPUs for data-intensive tasks presents new challenges

? ¡

Storage ¡ Servers ¡

slide-5
SLIDE 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

slide-6
SLIDE 6

Shredder basic design

Pramod Bhatotia 6

GPU ¡(Device) ¡ CPU ¡(Host) ¡ Reader ¡ Transfer ¡ Store ¡ Chunking ¡ kernel ¡ Data ¡for ¡ ¡ chunking ¡ Chunked ¡ data ¡

slide-7
SLIDE 7

GPU architecture

Pramod Bhatotia 7

CPU ¡ (Host) ¡ ¡ ¡ GPU ¡(Device) ¡ MulE-­‑processor ¡ ¡N ¡ MulE-­‑processor ¡ ¡2 ¡ MulE-­‑processor ¡ ¡1 ¡

SP ¡ SP ¡ SP ¡ SP ¡

PCI ¡ Host ¡memory ¡ Device ¡ ¡ ¡ global ¡ ¡ memory ¡

¡

Shared ¡memory ¡

slide-8
SLIDE 8

GPU programming model

Pramod Bhatotia 8

CPU ¡ (Host) ¡ ¡ ¡ GPU ¡(Device) ¡ MulE-­‑processor ¡ ¡N ¡ MulE-­‑processor ¡ ¡2 ¡ MulE-­‑processor ¡ ¡1 ¡

SP ¡ SP ¡ SP ¡ SP ¡

PCI ¡ Host ¡memory ¡ Device ¡ ¡ ¡ global ¡ ¡ memory ¡

¡

Shared ¡memory ¡ Input ¡ Output ¡ Threads ¡

slide-9
SLIDE 9

Scalability challenges

  • 1. Host-device communication bottlenecks
  • 2. Device memory conflicts
  • 3. Host bottlenecks

Pramod Bhatotia 9

(See ¡paper ¡for ¡details) ¡

slide-10
SLIDE 10

Host-device communication bottleneck

Pramod Bhatotia 10

Challenge ¡# ¡1 ¡

GPU ¡(Device) ¡ Device ¡ ¡ global ¡ ¡ memory ¡ PCI ¡

Synchronous data transfer and kernel execution

  • Cost of data transfer is comparable to kernel execution
  • For large-scale data it involves many data transfers

CPU ¡(Host) ¡ Main ¡ memory ¡ Chunking ¡ kernel ¡ I/O ¡ Transfer ¡ Reader ¡

slide-11
SLIDE 11

Asynchronous execution

Pramod Bhatotia 11

Time ¡

Copy ¡to ¡ ¡ Buffer ¡1 ¡

GPU ¡(Device) ¡ Asynchronous ¡ copy ¡ Buffer ¡1 ¡ Device ¡global ¡memory ¡ Main ¡ memory ¡ Transfer ¡ Buffer ¡2 ¡ CPU ¡(Host) ¡

Compute ¡ Buffer ¡2 ¡ Compute ¡ Buffer ¡1 ¡ Copy ¡to ¡ ¡ Buffer ¡2 ¡

Pros: + Overlaps communication with computation + Generalizes to multi-buffering Cons:

  • Requires page-pinning of buffers at host side
slide-12
SLIDE 12

Circular ring pinned memory buffers

Pramod Bhatotia 12

GPU ¡(Device) ¡ CPU ¡(Host) ¡ Memcpy ¡

Pinned circular Ring buffers Pageable buffers

Device ¡global ¡ ¡ memory ¡ Asynchronous ¡ copy ¡

slide-13
SLIDE 13

Device memory conflicts

Pramod Bhatotia 13

Challenge ¡# ¡2 ¡

GPU ¡(Device) ¡ Device ¡ ¡ global ¡ ¡ memory ¡ PCI ¡ CPU ¡(Host) ¡ Main ¡ memory ¡ Chunking ¡ kernel ¡ I/O ¡ Transfer ¡ Reader ¡

slide-14
SLIDE 14

Accessing device memory

Pramod Bhatotia 14

Thread-­‑1 ¡ Thread-­‑2 ¡ Thread-­‑4 ¡

Device ¡global ¡memory ¡ ¡ ¡

MulE-­‑processor ¡ ¡ SP-­‑1 ¡ SP-­‑2 ¡ SP-­‑3 ¡ SP-­‑4 ¡ Thread-­‑3 ¡ 400-­‑600 ¡ Cycles ¡ Few ¡ cycles ¡ Device ¡shared ¡memory ¡

slide-15
SLIDE 15

Pramod Bhatotia 15

Device ¡global ¡memory ¡

Un-coordinated accesses to global memory lead to a large number of memory bank conflicts

Memory bank conflicts

¡ ¡

MulE-­‑processor ¡ ¡ SP ¡ Device ¡shared ¡memory ¡ SP ¡ SP ¡ SP ¡

slide-16
SLIDE 16

Accessing memory banks

Pramod Bhatotia 16

Bank ¡0 ¡ Bank ¡3 ¡ Bank ¡1 ¡ Bank ¡2 ¡ 0 ¡ 4 ¡ 8 ¡ 1 ¡ 5 ¡ 2 ¡ 6 ¡ 3 ¡ 7 ¡ MSBs ¡ LSBs ¡ Address ¡ Memory ¡ address ¡ Chip ¡ enable ¡ OR ¡ Data ¡out ¡ Interleaved ¡memory ¡

slide-17
SLIDE 17

Memory coalescing

Pramod Bhatotia 17

Device ¡global ¡memory ¡ Device ¡shared ¡memory ¡ Memory ¡ coalescing ¡ Time ¡

1 ¡ 2 ¡ 4 ¡

Thread ¡# ¡

3 ¡

slide-18
SLIDE 18

Processing the data

Pramod Bhatotia 18

Thread-­‑1 ¡ Thread-­‑2 ¡ Thread-­‑4 ¡

Device ¡shared ¡memory ¡

Thread-­‑3 ¡

slide-19
SLIDE 19

Outline

  • Shredder design
  • Evaluation
  • Case-studies

Pramod Bhatotia 19

slide-20
SLIDE 20

Evaluating Shredder

  • Goal: Determine how Shredder works in practice
  • 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

(See ¡paper ¡for ¡details) ¡

slide-21
SLIDE 21

Shredder vs. Multicores

Pramod Bhatotia 21

0 ¡ 0.5 ¡ 1 ¡ 1.5 ¡ 2 ¡ 2.5 ¡

MulEcore ¡ GPU ¡Basic ¡ GPU ¡Async ¡ GPU ¡Async ¡+ ¡ Coalescing ¡ GBps ¡ ¡

5X ¡

slide-22
SLIDE 22

Outline

  • Shredder design
  • Evaluation
  • Case studies
  • Computation: Incremental MapReduce
  • Storage: Cloud backup

Pramod Bhatotia 22

(See ¡paper ¡for ¡details) ¡

slide-23
SLIDE 23

Read input Map tasks Reduce tasks Write ¡output ¡

Incremental MapReduce

Pramod Bhatotia 23

slide-24
SLIDE 24

Unstable input partitions

Pramod Bhatotia

Read input Map tasks Reduce tasks Write ¡output ¡

24

slide-25
SLIDE 25

GPU accelerated Inc-HDFS

Pramod Bhatotia 25

Input ¡file ¡ ¡ Shredder ¡ HDFS ¡Client ¡ ¡ copyFromLocal ¡ Split-­‑1 ¡ Split-­‑2 ¡ Split-­‑3 ¡ Content-­‑based ¡chunking ¡

slide-26
SLIDE 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

slide-27
SLIDE 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

slide-28
SLIDE 28

Thank You!