Cloud FPGA Bitstream Prefetching for Low-Latency Multi-Tenant Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data centers do not allow the sharing of FPGAs among multiple tenants at run-time, leading to inefficient storage and execution of FPGA bitstreams, which are specific to particular FPGAs and cannot be executed by any FPGA in a datacenter.

Innovation Solution

A network-based apparatus that selects and outputs a first bitstream from a central repository to a network node based on an indicator associated with the probability of concurrent or simultaneous execution with a second bitstream, using an embedding matrix to map bitstreams to N-dimensional vectors of real numbers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If FPGA bitstreams are stored in a central repository without prediction, then storage simplicity is maintained, but execution latency increases due to lack of prefetching

Engineering Contradiction:
Improveexecution latencyVSAvoidcache management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by predicting which bitstreams will be needed in the future and prefetching them into local caches before actual execution requests occur. The embedding model estimates co-execution probabilities and proactively loads bitstreams, eliminating waiting time during runtime while maintaining manageable cache complexity through intelligent selection algorithms.

Inventive Principle:
Principle #10Preliminary action

2Speed

If multiple bitstreams are cached at network nodes, then execution speed improves, but storage efficiency decreases due to redundant caching

Engineering Contradiction:
Improveexecution speedVSAvoidstorage efficiency
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

Instead of caching all possible bitstreams at every node, the system creates selective copies based on predicted co-execution probabilities. The embedding model identifies which bitstreams should be copied to which caches, ensuring that each cache contains only the subset of bitstreams likely to be executed together, thus improving execution speed while minimizing redundant storage and energy consumption.

Inventive Principle:
Principle #26Copying

3Productivity

If bitstreams are selected for caching without probability indicators, then selection simplicity is maintained, but cache utilization efficiency decreases

Engineering Contradiction:
Improvecache utilization efficiencyVSAvoidselection mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces simple random or manual bitstream selection mechanisms with an embedding-based probabilistic model. This model computes co-execution probabilities by mapping bitstreams to vector embeddings and measuring their similarity, enabling intelligent cache population decisions that maximize utilization efficiency while maintaining automated operation without complex manual intervention.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12316692B2Management and implementation of applications in cloud-based FPGAS
Publication Date: 2025.05.27 NOKIA SOLUTIONS & NETWORKS OY
  • US12316692B2 patent drawing
  • US12316692B2 patent drawing
  • US12316692B2 patent drawing

AI summary

A network-based apparatus includes at least one processor and at least one memory including computer program code. The at least one memory and the computer program code are configured to, with the at least one processor, cause the network-based apparatus to: select at least a first bitstream from a central repository based on an indicator associated with a probability of concurrent, simultaneous or future execution of the first bitstream and a second bitstream at a network node, each of the first bitstream and the second bitstream including programming information for a device at the network node, the indicator being based on an embedding matrix mapping at least a subset of bitstreams in the central repository to an N-dimensional vector of real numbers; and output the first bitstream to the network node for storage and execution upon request.