Virtualized Execution Runtime for FPGA Accelerators in the Cloud

被引:52
作者
Asiatici, Mikhail [1 ]
George, Nithin [1 ]
Vipin, Kizheppatt [2 ]
Fahmy, Suhaib A. [3 ]
Ienne, Paolo [1 ]
机构
[1] Ecole Polytech Fed Lausanne, Sch Comp & Commun Sci, CH-1015 Lausanne, Switzerland
[2] Mahindra Ecole Cent, Sch Engn Sci, Hyderabad 500043, Andhra Pradesh, India
[3] Univ Warwick, Sch Engn, Coventry CV4 7AL, W Midlands, England
来源
IEEE ACCESS | 2017年 / 5卷
关键词
Field programmable gate arrays; platform virtualization; runtime environment; reconfigurable architectures; MANAGEMENT;
D O I
10.1109/ACCESS.2017.2661582
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
FPGAs offer high performance coupled with energy efficiency making them extremely attractive computational resources within a cloud ecosystem. However, to achieve this integration and make them easy to program, we first need to enable users with varying expertise to easily develop cloud applications that leverage FPGAs. With the growing size of FPGAs, allocating them monolithically to users can be wasteful due to potentially low device utilization. Hence, we also need to be able to dynamically share FPGAs among multiple users. To address these concerns, we propose a methodology and a runtime system that together simplify the FPGA application development process by providing: 1) a clean abstraction with high-level APIs for easy application development; 2) a simple execution model that supports both hardware and software execution; and 3) a shared memory-model which is convenient to use for the programmers. Akin to an operating system on a computer, our lightweight runtime system enables the simultaneous execution of multiple applications by virtualizing computational resources, i.e., FPGA resources and on-board memory, and offers protection facilities to isolate applications from each other. In this paper, we illustrate how these features can be developed in a lightweight manner and quantitatively evaluate the performance overhead they introduce on a small set of applications running on our proof of concept prototype. Our results demonstrate that these features only introduce marginal performance overheads. More importantly, by sharing resources for simultaneous execution of multiple user applications, our platform improves FPGA utilization and delivers higher aggregate throughput compared to accessing the device in a time-shared manner.
引用
收藏
页码:1900 / 1910
页数:11
相关论文
共 30 条
  • [1] Adler M, 2011, FPGA 11: PROCEEDINGS OF THE 2011 ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD PROGRAMMABLE GATE ARRAYS, P25
  • [2] [Anonymous], 2014, P 24 INT C FIELD PRO, DOI [10.1109/FPL.2014.6927454, DOI 10.1109/FPL.2014.6927454]
  • [3] [Anonymous], 2010, Performance analysis of high performance computing applications on the amazon web services cloud
  • [4] Barry R., 2009, FreeRTOS reference manual: API functions and configuration options
  • [5] FPGAs in the Cloud: Booting Virtualized Hardware Accelerators with OpenStack
    Byma, Stuart
    Steffan, J. Gregory
    Bannazadeh, Hadi
    Leon-Garcia, Alberto
    Chow, Paul
    [J]. 2014 IEEE 22ND ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM 2014), 2014, : 109 - 116
  • [6] Chen Fei, 2014, ACM COMPUTING FRONTI, DOI [10.1145/2597917.2597929, DOI 10.1145/2597917.2597929]
  • [7] Chung ES, 2011, FPGA 11: PROCEEDINGS OF THE 2011 ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD PROGRAMMABLE GATE ARRAYS, P97
  • [8] Eguro K., 2012, 2012 22nd International Conference on Field Programmable Logic and Applications (FPL), P63, DOI 10.1109/FPL.2012.6339242
  • [9] El-Araby E., 2009, ACM T RECONFIG TECHN, V1
  • [10] Virtualized FPGA Accelerators for Efficient Cloud Computing
    Fahmy, Suhaib A.
    Vipin, Kizheppatt
    Shreejith, Shanker
    [J]. 2015 IEEE 7TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE (CLOUDCOM), 2015, : 430 - 435