论文标题

FOS:用于动态工作负载的模块化FPGA操作系统

FOS: A Modular FPGA Operating System for Dynamic Workloads

论文作者

Vaishnav, Anuj, Pham, Khoa Dang, Powell, Joseph, Koch, Dirk

论文摘要

现在,由于FPGA被部署在云中和边缘,因此需要扩展设计方法,该方法可以结合FPGA系统的硬件和软件组件中存在的异质性。此外,这些FPGA系统需要可维护和适应不断变化的工作负载,同时改善了应用程序开发人员的可访问性。但是,由于系统组件之间的依赖性和缺乏标准化的抽象层,当前的FPGA系统无法实现模块化和对多租赁的支持。为了解决这个问题,我们引入了模块化的FPGA操作系统-FOS,该系统采用模块化的FPGA开发流程,以允许更改每个系统组件,并对EDA工具版本,硬件和软件层的异质性不可知。此外,为了从用户透明地动态最大化利用率,FOS使用资源弹性调度来为任何类型的加速器在时间和空间域中仲裁FPGA资源。我们对不同FPGA董事会的评估表明,FOS可以在单租户和多租户环境中提供性能改进,同时大大减少了开发时间,同时又提高了灵活性。

With FPGAs now being deployed in the cloud and at the edge, there is a need for scalable design methods which 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 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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源