Remote FPGA Fabric Control for Low-Latency Kernel Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing FPGA programming methods in computing systems involve processor intervention, leading to increased latency and inefficiencies in low-latency data processing applications such as autonomous cars, fraud detection, and financial trading, where quick data processing is critical.
Innovation Solution
Implementing a fabric controller that allows direct programming and management of FPGAs across a network fabric, eliminating the need for processor intervention by enabling remote FPGA access and resource pooling, thus reducing latency and improving resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If processor intervention is used for FPGA programming, then programming control and management are simplified, but request latency increases and processing efficiency decreases
Solution Approach 1:
The patent extracts the FPGA programming control function from the processor and creates a separate fabric controller. This fabric controller is a dedicated device that handles all FPGA programming, configuration, and management tasks independently, eliminating the need for processor intervention and thereby reducing request latency while maintaining programming control capability
Solution Approach 2:
The fabric controller acts as an intermediary between the processor and the FPGA. It receives programming requests from the processor, manages the programming process, and handles FPGA operations without requiring continuous processor involvement. This intermediary structure reduces the processing burden on the CPU and decreases overall system latency
2Productivity
If direct fabric controller access is implemented, then resource utilization efficiency improves, but system architecture complexity increases
Solution Approach 1:
The fabric controller is designed as a universal resource that can be accessed by multiple computing nodes through the network fabric. It provides centralized FPGA programming and management capabilities that serve the entire system, allowing efficient resource utilization without requiring complex distributed control logic in each node
Solution Approach 2:
The fabric controller provides self-service capabilities by autonomously managing FPGA programming tasks, configuration loading, and runtime operations. It can independently handle programming requests, manage bitstream transmission, and coordinate with FPGAs without requiring complex external control mechanisms, thereby simplifying the overall system architecture while improving resource efficiency
Data Source
AI summary
In one embodiment, an apparatus comprises a fabric controller of a first computing node. The fabric controller is to receive, from a second computing node via a network fabric that couples the first computing node to the second computing node, a request to execute a kernel on a field-programmable gate array (FPGA) of the first computing node; instruct the FPGA to execute the kernel; and send a result of the execution of the kernel to the second computing node via the network fabric.


