Remote FPGA Kernel Execution Over Network Fabric
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Programming FPGAs through processors increases latency in computing systems, particularly in low-latency data processing applications like autonomous cars and financial trading, where quick data processing is critical.
Innovation Solution
Implementing fabric controllers that can directly program and manage FPGAs without processor intervention, allowing FPGAs to be treated as pooled resources across a network fabric, enabling efficient distribution and orchestration of kernel execution and resource management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If FPGAs are used for custom logic processing in wireless communication systems, then processing flexibility and adaptability are improved, but device complexity and power consumption increase
Solution Approach 1:
The system divides the FPGA processing function into separate components: a remote radio head with FPGA for custom logic processing and a separate processing server for host computer functions. This segmentation allows the FPGA to be used only where needed for specific signal processing tasks, reducing overall system complexity while maintaining processing flexibility.
Solution Approach 2:
A processing server acts as an intermediary between the remote radio head and the host computer, managing the FPGA resources and coordinating processing tasks. This intermediary layer simplifies the interface between components and reduces the complexity burden on individual elements while preserving adaptability.
2Adaptability or versatility
If FPGAs are deployed in remote radio heads, then processing adaptability is improved, but power consumption increases
Solution Approach 1:
The system performs preliminary configuration of the FPGA through a processing server that prepares and loads only the necessary custom logic circuits before operation. This preliminary action ensures the FPGA is optimally configured for specific tasks, avoiding unnecessary power consumption from unused logic elements while maintaining adaptability for different processing requirements.
Solution Approach 2:
The FPGA's operational parameters are dynamically adjusted through configuration changes managed by the processing server. By changing the configured logic parameters based on specific processing needs, the system optimizes power consumption for each task while preserving adaptability for different communication protocols and signal processing requirements.
3Adaptability or versatility
If FPGAs are used for custom logic, then system adaptability is improved, but cost increases
Solution Approach 1:
The processing server provides a universal platform that can configure and manage multiple remote radio heads with FPGAs, allowing a single system to handle diverse processing requirements across different base stations. This multi-functionality reduces the need for dedicated FPGAs at every location, lowering overall system cost while maintaining adaptability.
Solution Approach 2:
The system uses configuration files and bitstream templates that can be copied and reused across multiple FPGAs for identical processing tasks. Instead of designing custom logic from scratch for each deployment, the processing server manages reusable configuration copies, reducing development and manufacturing costs while preserving system adaptability through centralized configuration management.
Data Source
Figure 1
Figure 2
Figure 3
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.