Remote FPGA Fabric Control for Low-Latency Kernel Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveFPGA request latencyVSAvoidprogramming control complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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

Inventive Principle:
Principle #2Taking out (Extraction)

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

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If direct fabric controller access is implemented, then resource utilization efficiency improves, but system architecture complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11675326B2Method and apparatus for remote field programmable gate array processing
Publication Date: 2023.06.13 INTEL CORP
  • US11675326B2 patent drawing
  • US11675326B2 patent drawing
  • US11675326B2 patent drawing

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.