UltraShare: FPGA-based Dynamic Accelerator Sharing and Allocation

Despite all the available commercial and open-source frameworks to ease deploying FPGAs in accelerating applications, the current schemes fail to support sharing multiple accelerators among various applications. There are three main features that an accelerator sharing scheme requires to support: exploiting dynamic parallelism of multiple accelerators, sharing accelerators among multiple applications, and providing a nonblocking congestion-free environment for multiple applications to call multiple accelerators. In this paper, we developed a scalable fully functional hardware controller, called UltraShare, with a supporting software stack that provides a dynamic accelerator sharing scheme through an accelerators grouping mechanism. UltraShare allows software applications to fully utilize FPGA accelerators in a non-blocking congestion-free environment. Our experimental results for a simple scenario of a combination of three streaming accelerators invocation show an improvement of up to 8x in throughput of the accelerators by removing accelerators idle times.

[1]  Alexander V. Veidenbaum,et al.  Data-rate-aware FPGA-based acceleration framework for streaming applications , 2016, 2016 International Conference on ReConFigurable Computing and FPGAs (ReConFig).

[2]  Hossein Bobarshad,et al.  Catalina: In-Storage Processing Acceleration for Scalable Big Data Analytics , 2019, 2019 27th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP).

[3]  Avesta Sasan,et al.  2SMaRT: A Two-Stage Machine Learning-Based Approach for Run-Time Specialized Hardware-Assisted Malware Detection , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[4]  James R. Larus,et al.  A reconfigurable fabric for accelerating large-scale datacenter services , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[5]  James R. Larus,et al.  A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services , 2015, IEEE Micro.

[6]  Solmaz S. Kia,et al.  Cycle flow formulation of optimal network flow problems and respective distributed solutions , 2019, IEEE/CAA Journal of Automatica Sinica.

[7]  Elaheh Bozorgzadeh,et al.  Scalable Multi-Queue Data Transfer Scheme for FPGA-Based Multi-Accelerators , 2018, 2018 IEEE 36th International Conference on Computer Design (ICCD).

[8]  Andreas Koch,et al.  ffLink: A Lightweight High-Performance Open-Source PCI Express Gen3 Interface for Reconfigurable Accelerators , 2016, CARN.

[9]  Elaheh Bozorgzadeh,et al.  System Services for Reconfigurable Hardware Acceleration in Mobile Devices , 2018, 2018 International Conference on ReConFigurable Computing and FPGAs (ReConFig).

[10]  Jason Cong,et al.  ST-Accel: A High-Level Programming Platform for Streaming Applications on FPGA , 2018, 2018 IEEE 26th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).

[11]  Dirk Koch,et al.  JetStream: An open-source high-performance PCI Express 3 streaming library for FPGA-to-Host and FPGA-to-FPGA communication , 2016, 2016 26th International Conference on Field Programmable Logic and Applications (FPL).

[12]  Ryan Kastner,et al.  RIFFA 2.0: A reusable integration framework for FPGA accelerators , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[13]  Jason Cong,et al.  S2FA: An Accelerator Automation Framework for Heterogeneous Computing in Datacenters , 2018, 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC).