Abstract
With FPGAs now being deployed in the cloud and at the edge, there is a need for scalable design methods that can incorporate the heterogeneity present in the hardware and software components of FPGA systems. Moreover, these FPGA systems need to be maintainable and adaptable to changing workloads while improving accessibility for the application developers. However, current FPGA systems fail to achieve modularity and support for multi-tenancy due to dependencies between system components and the lack of standardised abstraction layers. To solve this, we introduce a modular FPGA operating system – FOS, which adopts a modular FPGA development flow to allow each system component to be changed and be agnostic to the heterogeneity of EDA tool versions, hardware and software layers. Further, to dynamically maximise the utilisation transparently from the users, FOS employs resource-elastic scheduling to arbitrate the FPGA resources in both time and spatial domain for any type of accelerators. Our evaluation on different FPGA boards shows that FOS can provide performance improvements in both single-tenant and multi-tenant environments while substantially reducing the development time and, at the same time, improving flexibility.
- A. Pourhabibi et al. 2020. Optimus prime: Accelerating data transformation in servers. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).Google Scholar
Digital Library
- A. Putnam et al. 2014. A reconfigurable fabric for accelerating large-scale datacenter services. In 41st Annual International Symposium on Computer Architecuture (ISCA).Google Scholar
Digital Library
- C. Beckhoff, D. Koch, and J. Torresen. 2012. GoAhead: A partial reconfiguration framework. In International Symposium on Field-Programmable Custom Computing Machines (FCCM).Google Scholar
- E. Lübers and M. Platzner. 2007. ReconOS: An RTOS supporting hard-and software threads. In International Conference on Field Programmable Logic and Applications (FPL).Google Scholar
- A. Khawaja et al. 2018. Sharing, protection, and compatibility for reconfigurable fabric with amorphOS. In Symposium on Operating Systems Design and Implementation (OSDI 18).Google Scholar
- K. D. Pham et al. 2019. ZUCL 2.0: Virtualised memory and communication for ZYNQ UltraScale+ FPGAs. In International Workshop on FPGAs for Software Programmers (FSP).Google Scholar
- P. Lysaght et al. 2006. Invited paper: Enhanced architectures, design methodologies and CAD tools for dynamic reconfiguration of xilinx FPGAs. In International Conference on Field Programmable Logic and Applications (FPL).Google Scholar
Cross Ref
- Q. Zhao et al. 2018. Enabling FPGA-as-a-service in the cloud with hCODE Platform. IEICE Transactions on Information and Systems (2018).Google Scholar
- F. Chen et al. 2014. Enabling FPGAs in the cloud. In ACM Conference on Computing Frontiers.Google Scholar
Digital Library
- S. A. Fahmy, K. Vipin, and S. Shreejith. 2015. Virtualized FPGA accelerators for efficient cloud computing. In International Conference on Cloud Computing Technology and Science (CloudCom).Google Scholar
- T. Feist. 2012. Vivado design suite. White Paper 5 (2012), 30.Google Scholar
- Google. 2019. gRPC Framework. https://grpc.io/ Accessed: 2019-12-19.Google Scholar
- H. Eran et al. 2019. NICA: An infrastructure for inline acceleration of network applications. In 2019 USENIX Annual Technical Conference (USENIX ATC 19).Google Scholar
- J. Weerasinghe et al. 2015. Enabling FPGAs in hyperscale data centers. In 12th International Conference on Ubiquitous Intelligence and Computing and 12th International Conference on Autonomic and Trusted Computing and 15th International Conference on Scalable Computing and Communications and Its Associated Workshops (UIC-ATC-ScalCom).Google Scholar
- J. Weerasinghe et al. 2016. Network-attached FPGAs for data center applications. In International Conference on Field-Programmable Technology (FPT).Google Scholar
Cross Ref
- K. D. Pham et al. 2018. ZUCL: A ZYNQ ultrascale+ framework for openCL HLS applications. In International Workshop on FPGAs for Software Programmers (FSP).Google Scholar
- K. Matas et al. 2020. Invited tutorial: FPGA hardware security for datacenters and beyond. In International Symposium on Field-Programmable Gate Arrays (FPGA).Google Scholar
Digital Library
- L. Wirbel. 2014. Xilinx SDAccel: A Unified Development Environment for Tomorrow’s Data Center.The Linley Group, Inc. (2014).Google Scholar
- T. La et al. 2020. FPGADefender: Malicious self-oscillator scanning for Xilinx UltraScale+ FPGAs. ACM Transactions on Reconfigurable Technology and Systems (TRETS) (2020).Google Scholar
- M. Asiatici et al. 2017. Virtualized execution runtime for FPGA accelerators in the cloud. IEEE Access (2017).Google Scholar
- M. Happe et al. 2015. Preemptive hardware multitasking in reconos. In Applied Reconfigurable Computing.Google Scholar
- L. Ma, F. B. Muslim, and L. Lavagno. 2016. High performance and low power Monte Carlo methods to option pricing models via high level design and synthesis. In European Modelling Symposium (EMS). 157–162.Google Scholar
- K. Manev, A. Vaishnav, and D. Koch. 2019. Unexpected diversity: Quantitative memory analysis for Zynq UltaScale+ systems. In International Conference on Field-Programmable Technology (FPT).Google Scholar
- F. B. Muslim, L. Ma, M. Roozmeh, and L. Lavagno. 2017. Efficient FPGA implementation of OpenCL high-performance computing applications via high-level synthesis. IEEE Access 5 (2017), 2747–2762.Google Scholar
Cross Ref
- O. Knodel et al. 2017. Virtualizing reconfigurable hardware to provide scalability in cloud architectures. Reconfigurable Architectures, Tools and Applications (RECATA) 2 (2017).Google Scholar
- K. D. Pham, E. Horta, and D. Koch. 2017. BITMAN: A tool and API for FPGA bitstream manipulations. In Design, Automation Test in Europe Conference Exhibition (DATE).Google Scholar
- Q. Gautier et al. 2016. Spector: An OpenCL FPGA benchmark suite. In International Conference on Field-Programmable Technology (FPT).Google Scholar
Cross Ref
- S. Byma et al. 2014. FPGAs in the cloud: Booting virtualized hardware accelerators with openstack. In International Symposium on Field-Programmable Custom Computing Machines (FCCM).Google Scholar
Cross Ref
- Amazon Web Services. 2009. AWS EC2 FPGA Hardware and Software Development Kit. https://github.com/aws/aws-fpga Accessed: 2017-12-04.Google Scholar
- H. So and R. Brodersen. 2007. BORPH: An Operating System for FPGA-Based Reconfigurable Computers. Ph.D. Dissertation. EECS Department, University of California, Berkeley.Google Scholar
- T. Xia et al. 2016. Hypervisor mechanisms to manage FPGA reconfigurable accelerators. In International Conference on Field-Programmable Technology (FPT).Google Scholar
Cross Ref
- V. Kathail et al. 2016. SDSoC: A higher-level programming environment for Zynq SoC and UltaScale+ MPSoC. In International Symposium on Field-Programmable Gate Arrays (FPGA).Google Scholar
Digital Library
- A. Vaishnav et al. 2018. A survey on FPGA virtualization. In International Conference on Field Programmable Logic and Applications (FPL).Google Scholar
- A. Vaishnav et al. 2018. Resource elastic virtualization for FPGAs using OpenCL. In International Conference on Field Programmable Logic and Applications (FPL).Google Scholar
- A. Vaishnav et al. 2019. Heterogeneous resource-elastic scheduling for CPU+FPGA architectures. In International Symposium on Highly-Efficient Accelerators and Reconfigurable Technologies (HEART).Google Scholar
- A. Vaishnav, K. D. Pham, K. Manev, and D. Koch. 2019. The FOS (FPGA operating system) Demo. In International Conference on Field Programmable Logic and Applications (FPL).Google Scholar
- M. Vesper. 2018. Dynamic Stream Processing Pipelines on FPGAs Examplified on the PostGreSQL DBMS. Ph.D. Dissertation. The University of Manchester.Google Scholar
- M. Vesper, D. Koch, and K. D. Pham. 2017. PCIeHLS: An OpenCL HLS framework. In International Workshop on FPGAs for Software Programmers (FSP).Google Scholar
- W. Peck et al. 2006. Hthreads: A computational model for reconfigurable devices. In International Conference on Field Programmable Logic and Applications (FPL).Google Scholar
Cross Ref
- W. Wang et al. 2013. pvFPGA: Accessing an FPGA-based hardware accelerator in a paravirtualized environment. In International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).Google Scholar
Cross Ref
- Xilinx. 2017. Reconfigurable Acceleration in the Cloud. https://www.xilinx.com/products/design-tools/cloud-based-acceleration.html#alibaba.Google Scholar
- Xilinx. 2019. Platform Overview — Xilinx Runtime 2019.1 documentation. https://xilinx.github.io/XRT/master/html/platforms.html.Google Scholar
- Xilinx. 2019. PYNQ. https://github.com/xilinx/pynq.Google Scholar
- Xilinx. 2019. UG1144 - PetaLinux Tools Documentation Reference Guide. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_1/ug1144-petalinux-tools-reference-guide.pdf.Google Scholar
- Xilinx. 2019. UG909 - Vivado Design Suite User Guide: Partial Reconfiguration. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_1/ug909-vivado-partial-reconfiguration.pdf.Google Scholar
- Xilinx. 2019. Xilinx SDAccel Examples. https://github.com/Xilinx/SDAccel_Examples/.Google Scholar
- Y. Zha and J. Li. 2020. Virtualizing FPGAs in the cloud. In International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).Google Scholar
Index Terms
FOS: A Modular FPGA Operating System for Dynamic Workloads
Recommendations
From software to accelerators with LegUp high-level synthesis
CASES '13: Proceedings of the 2013 International Conference on Compilers, Architectures and Synthesis for Embedded SystemsEmbedded system designers can achieve energy and performance benefits by using dedicated hardware accelerators. However, implementing custom hardware accelerators for an application can be difficult and time intensive. LegUp is an open-source high-level ...
Runtime Filesystem Support for Reconfigurable FPGA Hardware Processes in BORPH
FCCM '08: Proceedings of the 2008 16th International Symposium on Field-Programmable Custom Computing MachinesThis paper presents the design of BORPH's file system layer for FPGA-based reconfigurable computers. BORPH provides user FPGA designs that execute as hardware processes access to the general file system using familiar UNIX file I/O semantics. Such ...
Scalable Video Coding Deblocking Filter FPGA and ASIC Implementation Using High-Level Synthesis Methodology
DSD '13: Proceedings of the 2013 Euromicro Conference on Digital System DesignThis paper describes key concepts in the design and implementation of a deblocking filter (DF) for a H.264/SVC video decoder. The DF supports QCIF and CIF video formats with temporal and spatial scalability. The design flow starts from a SystemC ...






Comments