FPGA Resource Allocation for Deterministic Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Enterprises face challenges in efficiently allocating processing resources for data sets due to the non-deterministic nature of microprocessor processing, leading to over-allocation of resources, inefficient use of processing capacity, and difficulty in detecting processing errors in a timely manner.

Innovation Solution

A system for allocating field-programmable gate array (FPGA) resources that determines the minimum number of FPGAs needed based on data set size, available time, and operational clock speed, categorizes data and FPGAs by processing requirements, and allocates them accordingly to ensure efficient processing and real-time error detection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If microprocessors are allocated to process data sets, then data processing can be performed, but the non-deterministic nature of microprocessor processing makes it difficult to estimate processing time and ensures deadlines are met only by over-allocating resources

Engineering Contradiction:
Improvedeadline meeting assuranceVSAvoidnumber of microprocessors allocated
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent replaces microprocessor-based software processing with FPGA hardware processing. FPGAs implement processing logic directly in hardware through configurable logic blocks and interconnects, providing deterministic processing times that can be precisely estimated and controlled, eliminating the need for over-allocation to ensure deadline compliance

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

Solution Approach 2:

The patent changes the fundamental processing parameter from software-execution-time (non-deterministic) to hardware-circuit-delay (deterministic). By configuring FPGAs with specific logic circuits, the processing time becomes a fixed physical parameter that can be precisely measured and guaranteed, allowing accurate resource allocation without over-provisioning

Inventive Principle:
Principle #35Parameter changes

2Reliability

If timeout delays are used to detect processing errors, then error detection is possible, but the non-deterministic processing time requires unreasonably large timeout delays that are effectively ignored

Engineering Contradiction:
Improveerror detection capabilityVSAvoidtimeout delay duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces software-based timeout error detection with hardware-based deterministic timing. FPGA circuits provide predictable execution paths with known maximum delays, allowing timeout values to be set based on actual processing requirements rather than arbitrary large numbers, making error detection practical and effective

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

Solution Approach 2:

The patent implements precise timing feedback mechanisms where the system monitors actual processing time against predetermined thresholds. Because FPGA processing times are deterministic and measurable, the feedback loop can accurately detect when processing exceeds expected durations, enabling reliable error detection with appropriately scaled timeout values

Inventive Principle:
Principle #23Feedback

3Productivity

If processing resources are allocated without optimization, then all data can be queued for processing, but high processing capacity resources are wasted on low processing requirements while data with higher requirements remain queued

Engineering Contradiction:
Improvedata processing throughputVSAvoidprocessing capacity utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies local quality by matching specific FPGA resources to specific data processing requirements. Different FPGAs can be configured with different logic circuits optimized for different types of processing tasks, and the allocation system assigns data to FPGAs based on their specific capabilities and current workload, ensuring efficient utilization of heterogeneous processing resources

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic resource allocation where the system continuously monitors processing requirements and availability, adjusting assignments in real-time. This dynamic approach allows the system to respond to changing workloads and optimize the matching between data requirements and FPGA capabilities, maximizing throughput while minimizing idle capacity

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9600356B2Allocating field-programmable gate array (FPGA) resources
Publication Date: 2017.03.21 BANK OF AMERICA CORP
  • US9600356B2 patent drawing
  • US9600356B2 patent drawing
  • US9600356B2 patent drawing

AI summary

A system for allocating field programmable gate array (FPGA) resources, comprises a plurality of FPGAs operable to implement one or more pipeline circuits; and one or more processors operable to determine the size of a set of data to be processed, determine an amount of time available to process the data set, determine an operational clock speed for the plurality of FPGAs, determine, based at least in part on the determined size of the set of data, the determined amount of time, and the determined operational clock speed, a number of FPGAs to allocate to process the set of data within the determined amount of time, and allocate at least the determined number of the plurality of FPGAs to process the set of data.