A Low-Latency Multi-Version Key-Value Store Using B-tree on an - - PowerPoint PPT Presentation

a low latency multi version key value store using b tree
SMART_READER_LITE
LIVE PREVIEW

A Low-Latency Multi-Version Key-Value Store Using B-tree on an - - PowerPoint PPT Presentation

A Low-Latency Multi-Version Key-Value Store Using B-tree on an FPGA-CPU Platform Yuchen Ren , Jinyu Xie, Yunhui Qiu, Hankun Lv, Wenbo Yin, Lingli Wang State Key Laboratory of ASIC and System, Fudan University Bowei Yu, Hua Chen, Xianjun He,


slide-1
SLIDE 1

A Low-Latency Multi-Version Key-Value Store Using B-tree

  • n an FPGA-CPU Platform

Yuchen Ren, Jinyu Xie, Yunhui Qiu, Hankun Lv, Wenbo Yin, Lingli Wang

State Key Laboratory of ASIC and System, Fudan University

Bowei Yu, Hua Chen, Xianjun He, Zhijian Liao, Xiaozhong Shi

IT R&D Dept., Chengdu Research Institute, Huawei Technologies Co., Ltd. FPL’19, Barcelona, September 11th, 2019

slide-2
SLIDE 2

Introduction - Background

Multi-Version KVS

(Key-Value Store) CPU-based RDMA-based FPGA-based

low (power) efficiency

  • f CPU-centric

memory hierarchy limited flexibility and efficiency of RDMA

performance & power consumption

2

*RDMA: Remote Direct Memory Access

Key Version1 Version2 Version... Value1 Value2 Value...

slide-3
SLIDE 3

Design

  • a low-latency multi-version in-memory KVS
  • FPGA-CPU heterogeneous architecture

3

Introduction - Contribution

Storage

  • keys

– hash table – FPGA board (Cuckoo hashing)

  • version-value pairs (VVPs) –

B-trees – host memory

Operation

  • get, put, delete, CAS, getPredecessor –

bypassing the CPU

  • range query –

with the help of the CPU

*CAS: Compare and Swap

slide-4
SLIDE 4

Architecture

4

slide-5
SLIDE 5

Architecture - Network Offload Engine

5

slide-6
SLIDE 6

Architecture - Key-Value Store Engine

6

slide-7
SLIDE 7

Architecture - First-level indexing by key

7

slide-8
SLIDE 8

Architecture - Second-level indexing by version

8

slide-9
SLIDE 9

Xilinx KCU105

PC

2GB DDR4 two 10GbE PCIe gen3 x8

  • Intel i5-2400

quad-core CPU

  • 12GB DDR3
  • 256GB SSD
  • CentOS 7
  • FPGA platform
  • Xilinx KCU105
  • Frequency
  • KVSE: 120MHz
  • DMA: 250MHz
  • DDR4: 300MHz
  • NOE: 156.25MHz

9

Implementation

slide-10
SLIDE 10

Evaluation - Key-Value Store Message Generator in FPGA hardware

10

slide-11
SLIDE 11

* Kops: Thousand operations per second

  • Latency increases almost linearly
  • KVSE is the bottleneck

11

Evaluation - Results

slide-12
SLIDE 12

Comparison (latency, get operation)

  • Our KVS: < 8μs (within a B-tree of 5 levels )
  • Hybrid FPGA approach: ≈ 75μs (within a B+-tree of 5 levels )
  • Many software-based KVS systems: > 1ms (on the support of versioning)

Conclusion

Future work

  • Optimize the system architecture of our multi-version KVS.
  • Expand to a distributed KVS by setting up multiple storage hosts.

12

* Hybrid FPGA approach: D. Heinrich, S. Werner, M. Stelzner, C. Blochwitz, T. Pionteck and S. Groppe, “Hybrid FPGA approach for a B+ tree in a semantic Web database system,” 2015 10th International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC), Bremen, 2015, pp. 1-8.

slide-13
SLIDE 13

Thanks!

Contact

ycren18@fudan.edu.cn wbyin@fudan.edu.cn llwang@fudan.edu.cn