Providing Multi-tenant Services with FPGAs: Case Study on a Key-Value Store

被引:28
作者
Istvan, Zsolt [1 ]
Alonso, Gustavo [1 ]
Singla, Ankit [1 ]
机构
[1] Swiss Fed Inst Technol, Dept Comp Sci, Syst Grp, Zurich, Switzerland
来源
2018 28TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL) | 2018年
关键词
D O I
10.1109/FPL.2018.00029
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
FPGAs can be used to speed up computation and data management tasks in various application domains. In cloud settings, however, high utilization is as important as high performance. In software it is common to co-locate different tenants' workloads on the same servers to increase utilization. Sharing an FPGA is more complex because applications take up physical space on the chip. Even though it is possible to physically partition the FPGA, tenants can have widely different requirements and their needs can also fluctuate over time. In this paper, we take a different approach and provide flexibility to the tenants who are interested in the same type of application but have different workloads and quality of service requirements. We demonstrate our approach of multi-tenant design using a key value store service but the ideas generalize to other network facing services as well. A key challenge of multi-tenancy is to efficiently share the underlying hardware while enforcing strict data and performance isolation between tenants. In this paper we demonstrate that, by following a single-pipeline design principle, it is possible to control each tenant's share of network bandwidth and computational resources even for complex, distributed operations. Furthermore, we show how state-machine based logic on the FPGA can be made tenant-aware without introducing significant context-switching overhead. Finally, our hardware design provides flexibility for changing per-tenant shares, allowing the same circuit to be used by one or multiple tenants without performance loss.
引用
收藏
页码:119 / 124
页数:6
相关论文
共 18 条
[1]  
Byma S., 2014, FCCM 14
[2]  
Caulfield A. M., 2016, MICRO 16
[3]  
Chen Y.-T., 2016, USENIX HOTCLOUD 16
[4]  
Cidon A., 2017, USENIX ATC
[5]  
Fahmy S. A., 2015, CLOUD COMPUTING TECH
[6]  
Gupta P. K., 2016, FPL 16
[7]  
Istvan Z., 2016, NSDI
[8]  
Istvan Z., 2017, P VLDB ENDOWMENT, V10
[9]  
Junqueira F.P., DSN 11
[10]  
Kachris C., 2016, FPL 16