Why is Key-Value Store + GPU important? GPU Key-Value Store - - PowerPoint PPT Presentation

why is key value store gpu important
SMART_READER_LITE
LIVE PREVIEW

Why is Key-Value Store + GPU important? GPU Key-Value Store - - PowerPoint PPT Presentation

GPUKV : Towards a GPU-Driven Computing on Key-Value SSD Min-Gyo Jung , Chang-Gyu Lee, Donggyu Park, Sungyong Park, Youngjae Kim Jungki Noh, Woosuk Chung, Kyoung Park Sogang University, Seoul, Republic of Korea, SK


slide-1
SLIDE 1

†Sogang University, Seoul, Republic of Korea, ‡SK hynix

GPUKV: Towards a GPU-Driven Computing on Key-Value SSD

Min-Gyo Jung†, Chang-Gyu Lee†, Donggyu Park†, Sungyong Park†, Youngjae Kim† Jungki Noh‡, Woosuk Chung‡, Kyoung Park‡

slide-2
SLIDE 2

Why is Key-Value Store + GPU important?

Massive Parallelism Boost data-intensive applications

Key-Value Store

Good to store unstructured data Widely used for storing big data

More powerful performance and usability for data-intensive applications e.g. Map-Reduce, Graph Processing, Data Analysis …

GPU

slide-3
SLIDE 3

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path RocksDB Engine User Space File System Kernel Space NVMe Driver Application

Data Transfer Flow from Key-Value Store to GPU

slide-4
SLIDE 4

Data Transfer Flow from Key-Value Store to GPU

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path RocksDB Engine

User Space File System Kernel Space NVMe Driver Application

slide-5
SLIDE 5

Data Transfer Flow from Key-Value Store to GPU

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path RocksDB Engine

① ③

User Space File System Kernel Space NVMe Driver

  • Application
slide-6
SLIDE 6

Data Transfer Flow from Key-Value Store to GPU

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path RocksDB Engine

① ③

User Space File System Kernel Space NVMe Driver

  • Application
slide-7
SLIDE 7

Data Transfer Flow from Key-Value Store to GPU

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path RocksDB Engine

① ③

User Space File System Kernel Space NVMe Driver

  • Application

Extra data movement Sophisticated control path

slide-8
SLIDE 8

Data Transfer Flow from Key-Value Store to GPU

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path RocksDB Engine

① ③

User Space File System Kernel Space NVMe Driver

  • Application

What if doing this using PCIe P2P transmission?

slide-9
SLIDE 9

Data Transfer Flow when transferring using P2P

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path Additional Path RocksDB Engine User Space File System Kernel Space NVMe Driver Application

slide-10
SLIDE 10

Data Transfer Flow when transferring using P2P

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path Additional Path RocksDB Engine

User Space File System Kernel Space NVMe Driver

  • Application

slide-11
SLIDE 11

Data Transfer Flow when transferring using P2P

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path Additional Path

RocksDB Engine

User Space File System Kernel Space NVMe Driver

  • Application

slide-12
SLIDE 12

Data Transfer Flow when transferring using P2P

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path Additional Path

RocksDB Engine

User Space File System Kernel Space NVMe Driver

  • Application

② ④

slide-13
SLIDE 13

Data Transfer Flow when transferring using P2P

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path Additional Path

RocksDB Engine

① ⑤

User Space File System Kernel Space NVMe Driver

  • Application

② ④

slide-14
SLIDE 14

Data Transfer Flow when transferring using P2P

Host User Space Kernel Space SSD Controller SSD Storage Main Memory GPU kernel GPU Memory GPU Control Path Data Path Additional Path

RocksDB Engine

① ⑤

User Space File System Kernel Space NVMe Driver

  • Application

② ④

  • Reduces data movement

More complicated control path Data alignment for P2P

slide-15
SLIDE 15

What does GPUKV suppose to do?

§ GPU-driven computing model

  • GPU issues IO bypassing host architectures

§ Reduce data movement using PCIe P2P

  • Data storage ↔ Accelerator (GPU)
  • Save wasting memory bus bandwidth

§ Simple control path

  • Implementing Key-Value store at SSD,

reduce complex control paths

slide-16
SLIDE 16

Data Transfer Latency Breakdown

slide-17
SLIDE 17

Data Transfer Latency Breakdown

  • In ideal case, GPUKV only needs data transfer latency
slide-18
SLIDE 18

Data Transfer Latency Breakdown

  • GPU-driven Computing is necessary!
slide-19
SLIDE 19

GPUKV’s Data Transfer Flow

Host User Space Kernel Space SSD Controller SSD Storage GPU kernel GPU Memory GPU GPU Control Path Data Path CPU Control Path Application Key-Value Driver GPUKV Driver

No Redundant data copy Simple and short Control Path Data request from GPU itself

Key-Value

slide-20
SLIDE 20

Preliminary Results: Synthetic Workloads

§ Streaming workload (𝑋

!"#$%&'())

  • Predictable data access pattern
  • The next dataset needed by GPU kernel can be prefetched

§ Dynamic workload (𝑋

*+(%&',)

  • Unpredictable data access pattern
  • The next dataset GPU kernel needs cannot be prefetched
  • Only can be loaded when current GPU kernel finishes.
slide-21
SLIDE 21

Preliminary Results: Synthetic Workloads

  • 𝑋

!"#$%&$'(

𝑋

)"#*+'(

slide-22
SLIDE 22

Preliminary Results: Synthetic Workloads

  • Conventional way: Need powerful host resources

𝑋

!"#$%&$'(

𝑋

)"#*+'(

slide-23
SLIDE 23

Preliminary Results: Synthetic Workloads

  • Our approach – GPUKV:

Always shows best performance with only 1 I/O thread Barely requires host resource

𝑋

!"#$%&$'(

𝑋

)"#*+'(

slide-24
SLIDE 24

†Sogang University, Seoul, Republic of Korea, ‡SK hynix

GPUKV: Towards a GPU-Driven Computing on Key-Value SSD

Min-Gyo Jung†, Chang-Gyu Lee†, Donggyu Park†, Sungyong Park†, Youngjae Kim† Jungki Noh‡, Woosuk Chung‡, Kyoung Park‡

jmg7173@u.sogang.ac.kr