Providing Multi-tenant Services with FP FPGAs: Cas ase Stu tudy on
- n a
a Key-Value Store
Zsolt István*, Gustavo Alonso, Ankit Singla
Systems Group, Computer Science Dept., ETH Zürich
* Now at IMDEA Software Institute, Madrid
with FP FPGAs: Cas ase Stu tudy on on a a Key-Value Store - - PowerPoint PPT Presentation
Zsolt Istvn * , Gustavo Alonso, Ankit Singla Systems Group, Computer Science Dept., ETH Zrich * Now at IMDEA Software Institute, Madrid Providing Multi-tenant Services with FP FPGAs: Cas ase Stu tudy on on a a Key-Value Store FPGAs in
Systems Group, Computer Science Dept., ETH Zürich
* Now at IMDEA Software Institute, Madrid
2
3
FPGA FPGA
4
5
[VLDB17] Z. István, D. Sidler, G. Alonso Caribou: Intelligent Distributed Storage. [NSDI16] Z. István, D. Sidler, G. Alonso, M. Vukolic: Consensus in a Box: Inexpensive Coordination in Hardware.
6
Multes (single pipeline) Memory
Traffic Shaper Traffic Shaper
Network Stack (TCP) Replication Multivers. Hash Table + Allocator Value Access + Processing Caribou Memory Value Access + Processing Hash Table + Allocator Replication + Log Manager Network Stack (TCP)
Replication messages Client messages
software
7
Traffic Shaper
Token Bucket Token Bucket Token Bucket Extract tenant ID Round
Input packets/commands Output packets/commands Configuration Per-tenant limits (D,C,T)
Meta- data Body
Encodes the “real cost” of the request Request/command
8
Leader Leader
Replica Replica Replica Replica
9
Input message Tenant 1 State Tenant 2 State Tenant 3 State Replication controller (atomic broadcast protocol)
List of peers, Role in protocol, Outstanding proposals, etc. Encodes key, data
numbers, etc.
10
Network Tenant 2 Tenant 1 Client Client Client Client Client Client Multes Memory/ Storage Replication protocol
11
12
10 20 30 40 50 60 70 80 90 100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 % of VC709 resources
13
Caribou 2x Caribou
Logic BRAM Logic BRAM
Multes T=2
The FPGA part on the VC709 is XC7VX690T-2FFG1761C
etc.
14
Multes Memory
Traffic Shaper Traffic Shaper
Network Stack (TCP) Replication Multivers. Hash Table + Allocator Value Access + Processing
15