The Feniks FPGA Operating System for Cloud Computing
Driven by explosive demand on computing power and slowdown of Moore’s law, cloud providers have started to deploy FPGAs into datacenters for workload offloading and acceleration. In this paper, we propose an operating system for FPGA, called Feniks, to facilitate large scale FPGA deployment in datacenters.
Feniks provides abstracted interface for FPGA accelerators, so that FPGA developers can get rid of underlying hardware details. In addtion, Feniks also provides (1) development and runtime environment for accelerators to share an FPGA chip in efficient way; (2) direct access to server’s resource like storage and coprocessor over PCIe bus; (3) an FPGA resource allocation framework throughout a datacenter.
We implemented an initial prototype of Feniks on Catapult Shell and Altera Stratix V FPGA. Our experiements show that device-to-device communication over PCIe is feasible and efficient. A case study shows multiple accelerators can share an FPGA chip independently and efficiently.
Publication
Jiansong Zhang, Yongqiang Xiong, Ningyi Xu, Ran Shu, Bojie Li, Peng Cheng, Guo Chen and Thomas Moscibroda.
Proceedings of the 8th Asia-Pacific Workshop on Systems (APSys ‘17). [PDF]
I only participated in the technical discussion of this Feniks project. Credits should go to Dr. Jiansong Zhang.
People
- Dr. Jiansong Zhang
- Dr. Yongqiang Xiong
- Dr. Ningyi Xu
- Ran Shu
- Bojie Li
- Dr. Peng Cheng
- Dr. Guo Chen
- Dr. Thomas Moscibroda