When Application-Specific ISA Meets FPGAs: A Multi-layer Virtualization Framework for Heterogeneous Cloud FPGAs

被引:15
|
作者
Zha, Yue [1 ]
Li, Jing [1 ]
机构
[1] Univ Penn, Philadelphia, PA 19104 USA
关键词
Heterogeneous cloud FPGAs; Virtualization; Application-specific ISA; Parallel patterns;
D O I
10.1145/3445814.3446699
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
While field-programmable gate arrays (FPGAs) have been widely deployed into cloud platforms, the high programming complexity and the inability to manage FPGA resources in an elastic/scalable manner largely limits the adoption of FPGA acceleration. Existing FPGA virtualization mechanisms partially address these limitations. Application-specific (AS) ISA provides a nice abstraction to enable a simple software programming flow that makes FPGA acceleration accessible by the mainstream software application developers. Nevertheless, existing AS ISA-based approaches can only manage FPGA resources at a per-device granularity, leading to a low resource utilization. Alternatively, hardware-specific (HS) abstraction improves the resource utilization by spatially sharing one FPGA among multiple applications. But it cannot reduce the programming complexity due to the lack of a high-level programming model. In this paper, we propose a virtualization mechanism for heterogeneous cloud FPGAs that combines AS ISA and HS abstraction to fully address aforementioned limitations. To efficiently combine these two abstractions, we provide a multi-layer virtualization framework with a new system abstraction as an indirection layer between them. This indirection layer hides the FPGA-specific resource constraints and leverages parallel pattern to effectively reduce the mapping complexity. It simplifies the mapping process into two steps, where the first step decomposes an AS ISA-based accelerator under no resource constraint to extract all fine-grained parallel patterns, and the second step leverages the extracted parallel patterns to simplify the process of mapping the decomposed accelerators onto the underlying HS abstraction. While system designers might be able to manually perform these steps for small accelerator designs, we develop a set of custom tools to automate this process and achieve a high mapping quality. By hiding FPGA-specific resource constraints, the proposed system abstraction provides a homogeneous view for the heterogeneous cloud FPGAs to simplify the runtime resource management. The extracted parallel patterns could also be leveraged by the runtime system to improve the performance of scale-out acceleration by maximally hiding the inter-FPGA communication latency. We use an AS ISA similar to the one proposed in BrainWave project and a recently proposed HS abstraction as a case study to demonstrate the effectiveness of the proposed virtualization framework. The performance is evaluated on a custom-built FPGA cluster with heterogeneous FPGA resources. Compared with the baseline system that only uses AS ISA, the proposed framework effectively combines these two abstractions and improves the aggregated system throughput by 2.54x with a marginal virtualization overhead.
引用
收藏
页码:123 / 134
页数:12
相关论文
共 3 条
  • [1] Novel multi-layer floorplanning for heterogeneous FPGAs
    Singhal, Love
    Bozorgzadeh, Elaheh
    2007 INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS, PROCEEDINGS, VOLS 1 AND 2, 2007, : 613 - 616
  • [2] Enabling Elastic Resource Management in Cloud FPGAs via A Multi-layer Collaborative Approach
    Teng, Wenbin
    Gong, Lei
    Wang, Chao
    Zhou, Xuehai
    2023 IEEE 31ST ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES, FCCM, 2023, : 242 - 244
  • [3] AutoMLP: A Framework for the Acceleration of Multi-Layer Perceptron Models on FPGAs for Real-Time Atrial Fibrillation Disease Detection
    Chen, Chao
    da Silva, Bruno
    Yang, Chenxi
    Ma, Caiyun
    Li, Jianqing
    Liu, Chengyu
    IEEE TRANSACTIONS ON BIOMEDICAL CIRCUITS AND SYSTEMS, 2023, 17 (06) : 1371 - 1386