Herd

12
Reading “Using RDMA Efficiently for Key-Value Services”[1] @syoyo Thursday, August 7, 14

description

HERD

Transcript of Herd

Page 1: Herd

Reading“Using RDMA Efficiently

for Key-Value Services”[1]

@syoyo

Thursday, August 7, 14

Page 2: Herd

Overview

• KVS(GET/PUT) + RDMA

• 26 million key-value op per second

• 5 us average latency

• 1 key-value item size <= 1024 bytes

• 2x faster than previous method

Thursday, August 7, 14

Page 3: Herd

Previous work

• Pilaf : C. Mitchell, Y. Geng, and J. Li. Using One-Sided RDMA Reads to Build a Fast, CPU-Efficient Key-Value Store. In USENIX ATC, 2013.

• FaRM : A.Dragojevic,D.Narayanan,O.Hodson,andM.Castro. FaRM: Fast Remote Memory. In USENIX NSDI, 2014.

• MICA: H. Lim, D. Han, D. G. Andersen, and M. Kaminsky. MICA: A Holistic Approach to Fast In-Memory Key-Value Storage. In USENIX NSDI, 2014.

Thursday, August 7, 14

Page 4: Herd

• Use RDMA WRITE instead of RDMA READ

• Half round trip latency

Thursday, August 7, 14

Page 5: Herd

ServerClient

Client

RDMA WRITE UC

RDMA WRITE UCpolling

SEND UD

SEND UD

Thursday, August 7, 14

Page 6: Herd

Op

• 1) client -> server request(PUT, GET) using RDMA WRITE

• 2) server polls per-client memory region to check request

• 3) Do key-value lookup

• 4) server -> client reply using SEND

Thursday, August 7, 14

Page 7: Herd

Evaluation

• Apt

• IB FDR(56 Gbps) ConnectX-3

• Susitna

• RoCE(40GbE CX-3 MX313A)

Thursday, August 7, 14

Page 8: Herd

Thursday, August 7, 14

Page 9: Herd

Thursday, August 7, 14

Page 10: Herd

Thursday, August 7, 14

Page 11: Herd

Thursday, August 7, 14