Programmable IC Access Control via Image Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional heterogeneous computing platforms (HCPs) do not support multiple concurrent client access to a programmable integrated circuit (IC) or hardware acceleration board, leading to inefficient processing and wasted cycles due to the need for continuous polling when the IC is idle.

Innovation Solution

Implementing a driver that manages access to a programmable IC by multiple clients using time-division multiplexing, allowing multiple processes to access the IC even when it is not idle, by comparing requests and granting access if they specify the same image already loaded on the IC.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional heterogeneous computing platforms are used with single client access to programmable IC, then system simplicity is maintained, but processing efficiency deteriorates due to continuous polling requirements and wasted processor cycles

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidpolling time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a driver as an intermediary component between multiple client processes and the programmable IC. The driver manages access requests, compares them against the currently implemented image, and grants access when appropriate. This intermediary eliminates the need for continuous polling by providing a structured request-response mechanism where clients can efficiently check availability and proceed with processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple concurrent client access is enabled to programmable IC, then processing efficiency improves, but system complexity increases due to access management requirements

Engineering Contradiction:
Improveconcurrent processing capabilityVSAvoidaccess management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the access management parameter from a simple single-client model to a multi-client model with image-based access control. The driver compares the requested image against the currently implemented image to determine access eligibility. This parameter change enables concurrent access while maintaining system control through image matching logic rather than complex arbitration protocols.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If continuous polling is implemented to check IC availability, then access control is maintained, but processor cycles are wasted

Engineering Contradiction:
Improveaccess control reliabilityVSAvoidprocessor cycle consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent replaces continuous polling with periodic action through event-driven notifications. Instead of constantly checking IC availability, the system notifies clients when the IC becomes available or when image changes occur. This periodic notification mechanism maintains reliable access control while dramatically reducing processor cycle consumption compared to continuous polling loops.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS11086815B1Supporting access to accelerators on a programmable integrated circuit by multiple host processes
Publication Date: 2021.08.10 XILINX INC
  • US11086815B1 patent drawing
  • US11086815B1 patent drawing
  • US11086815B1 patent drawing

AI summary

Supporting multiple clients on a single programmable integrated circuit (IC) can include implementing a first image within the programmable IC in response to a first request for processing to be performed by the programmable IC, wherein the request is from a first process executing in a host data processing system coupled to the programmable IC, receiving, using a processor of the host data processing system, a second request for processing to be performed on the programmable IC from a second and different process executing in the host data processing system while the programmable IC still implements the first image, comparing, using the processor, a second image specified by the second request to the first image, and, in response to determining that the second image matches the first image based on the comparing, granting, using the processor, the second request for processing to be performed by the programmable IC.