why is key value store gpu important
play

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


  1. 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 hynix

  2. Why is Key-Value Store + GPU important? GPU Key-Value Store Massive Parallelism Good to store unstructured data Boost data-intensive applications Widely used for storing big data More powerful performance and usability for data-intensive applications e.g. Map-Reduce, Graph Processing, Data Analysis …

  3. Data Transfer Flow from Key-Value Store to GPU Host GPU Application GPU kernel Main Memory RocksDB GPU Memory User User Engine Space Space Kernel Kernel Space Space File System NVMe Driver Control Path SSD SSD Controller Data Path Storage

  4. ① Data Transfer Flow from Key-Value Store to GPU Host GPU Application GPU kernel Main Memory RocksDB GPU Memory User User Engine Space Space Kernel Kernel Space Space File System NVMe Driver Control Path SSD SSD Controller Data Path Storage

  5. ② ① � � ③ Data Transfer Flow from Key-Value Store to GPU Host GPU Application GPU kernel Main Memory RocksDB GPU Memory User User Engine Space Space Kernel Kernel Space Space File System NVMe Driver Control Path SSD SSD Controller Data Path Storage

  6. Data Transfer Flow from Key-Value Store to GPU ④ Host GPU Application GPU kernel Main Memory ① ③ RocksDB GPU Memory � User User Engine Space Space � � Kernel Kernel Space Space File System ② NVMe Driver � Control Path SSD SSD Controller Data Path Storage

  7. Data Transfer Flow from Key-Value Store to GPU ④ Host GPU Application GPU kernel Main Memory ① ③ RocksDB GPU Memory � User User Engine Space Space � � Kernel Kernel Space Space File System Extra data movement ② Sophisticated control path NVMe Driver � Control Path SSD SSD Controller Data Path Storage

  8. Data Transfer Flow from Key-Value Store to GPU ④ Host GPU Application GPU kernel Main Memory ① ③ RocksDB GPU Memory � User User Engine What if doing this using Space Space � � Kernel Kernel PCIe P2P transmission? Space Space File System ② NVMe Driver � Control Path SSD SSD Controller Data Path Storage

  9. Data Transfer Flow when transferring using P2P Host GPU Application GPU kernel Main Memory RocksDB GPU Memory User User Engine Space Space Kernel Kernel Space Space File System NVMe Driver Control Path SSD Additional Path SSD Controller Data Path Storage

  10. � ① ② � Data Transfer Flow when transferring using P2P Host GPU Application GPU kernel Main Memory RocksDB GPU Memory User User Engine Space Space Kernel Kernel Space Space File System NVMe Driver Control Path SSD Additional Path SSD Controller Data Path Storage

  11. � ③ ② � ① Data Transfer Flow when transferring using P2P Host GPU Application GPU kernel Main Memory RocksDB GPU Memory User User Engine Space Space Kernel Kernel Space Space File System NVMe Driver Control Path SSD Additional Path SSD Controller Data Path Storage

  12. � ① � ④ ② � ③ Data Transfer Flow when transferring using P2P Host GPU Application GPU kernel Main Memory RocksDB GPU Memory User User Engine Space Space Kernel Kernel Space Space File System NVMe Driver Control Path SSD Additional Path SSD Controller Data Path Storage

  13. Data Transfer Flow when transferring using P2P ⑥ Host GPU Application GPU kernel Main Memory ① ⑤ RocksDB GPU Memory User User Engine Space Space ④ ③ � Kernel Kernel Space Space File System � ② � NVMe Driver Control Path SSD Additional Path SSD Controller Data Path Storage

  14. Data Transfer Flow when transferring using P2P ⑥ Host GPU Application GPU kernel Main Memory ① ⑤ RocksDB GPU Memory User User Engine Space Space ④ ③ � Kernel Kernel Reduces data movement Space Space File System � More complicated control path ② � Data alignment for P2P NVMe Driver Control Path SSD Additional Path SSD Controller Data Path Storage

  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

  16. Data Transfer Latency Breakdown ����������� ��� ��� �������������� ���������������������� ���������� ��� ��� ��� � ������� �������������� ������������

  17. Data Transfer Latency Breakdown ����������� ��� ��� �������������� ���������������������� ���������� ��� ��� ��� � ������� �������������� ������������ In ideal case, GPUKV only needs data transfer latency

  18. Data Transfer Latency Breakdown ����������� ��� ��� �������������� ���������������������� ���������� ��� ��� ��� � ������� �������������� ������������ GPU-driven Computing is necessary!

  19. GPUKV ’s Data Transfer Flow Host GPU Application GPU kernel User No Redundant data copy Space GPUKV Driver Kernel GPU Memory Key-Value Space Simple and short Control Path Driver Key-Value SSD Data request from GPU itself SSD Controller GPU Control Path CPU Control Path Data Path Storage

  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.

  21. Preliminary Results: Synthetic Workloads ����� ��� ��� ������������� ��� ������� ��� ������������������ ������������������ ��� ��� ��� ��� ��� ��� ��� ��� � � � �� ��� � �� ��� ������������������������������� ������������������������������� 𝑋 𝑋 !"#$%&$'( )"#*+'(

  22. Preliminary Results: Synthetic Workloads ����� ��� ��� ������������� ��� ������� ��� ������������������ ������������������ ��� ��� ��� ��� ��� ��� ��� ��� � � � �� ��� � �� ��� ������������������������������� ������������������������������� 𝑋 𝑋 !"#$%&$'( )"#*+'( Conventional way: Need powerful host resources

  23. Preliminary Results: Synthetic Workloads ����� ��� ��� ������������� ��� ������� ��� ������������������ ������������������ ��� ��� ��� ��� ��� ��� ��� ��� � � � �� ��� � �� ��� ������������������������������� ������������������������������� 𝑋 𝑋 !"#$%&$'( )"#*+'( Our approach – GPUKV : Always shows best performance with only 1 I/O thread Barely requires host resource

  24. 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 hynix jmg7173@u.sogang.ac.kr

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend