FPGA Module Selection via Workload Profiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing devices often lack sufficient processing capabilities to support various computer programs, and existing systems fail to identify the appropriate Field-Programmable Gate Array (FPGA) modules required by these programs, leading to insufficient performance even when devices are deployed with adequate power.

Innovation Solution

A system that collects workload properties of computer programs and applies them to a trained classifier to identify and select an appropriate FPGA module, ensuring the selected module meets the program's requirements, using a machine learning model to accurately choose the right FPGA module for both known and unknown workloads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If computing devices are deployed with sufficient processing power to support key computer programs, then processing capability is improved, but device complexity and cost increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoiddevice complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The system dynamically configures FPGA modules based on workload characteristics. Instead of deploying fixed high-power hardware for all scenarios, the FPGA architecture allows runtime reconfiguration to match actual program requirements, providing sufficient processing power only when and where needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes hardware parameters by selecting different FPGA module configurations based on workload analysis. The classifier determines optimal FPGA parameters (logic block count, memory capacity, interconnect structure) matching the program's specific needs, avoiding over-provisioning while ensuring adequate performance.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If FPGA modules are selected without proper identification methods, then device complexity is reduced, but processing performance deteriorates

Engineering Contradiction:
Improveprocessing performanceVSAvoidmodule selection complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system employs an automated classifier that self-selects appropriate FPGA modules by analyzing workload properties. The classifier automatically matches program characteristics with FPGA module capabilities, eliminating manual selection complexity while ensuring optimal processing performance through data-driven decisions.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback from workload analysis to guide FPGA module selection. By monitoring program execution characteristics and resource utilization patterns, the classifier receives feedback that informs subsequent module selections, continuously optimizing the match between program needs and hardware capabilities.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If computing devices use generic processing units, then device complexity is minimized, but adaptability to different workload requirements deteriorates

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidarchitecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements a universal FPGA platform that can perform multiple functions through reconfiguration. The same base FPGA architecture serves different workload types (compute-intensive, memory-intensive, I/O-intensive) by dynamically adjusting its configuration, providing broad adaptability without requiring multiple specialized hardware designs.

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

Solution Approach 2:

The FPGA architecture is segmented into reconfigurable functional blocks that can be independently configured based on workload requirements. This segmentation allows the system to assemble different processing units from the same hardware resources, achieving high adaptability while maintaining a unified device architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11392355B2Computer architecture based on program/workload profiling
Publication Date: 2022.07.19 CAPITAL ONE SERVICES LLC
  • US11392355B2 patent drawing
  • US11392355B2 patent drawing
  • US11392355B2 patent drawing

AI summary

Disclosed herein are system, method, and computer program product embodiments for determining an appropriate FPGA for a particular computer program. An embodiment operates by a central processing unit's counter identifying a plurality of workload properties in processing a computer program, wherein the central processing unit is part of a first computer architecture. The central processing unit then sends the workload properties to a controller trained to identify a field-programmable gate array (FPGA) module based on the plurality of workload properties. The central processing unit thereafter receives a recommended FPGA module from the controller and implements the recommended FPGA module in a computer architecture for processing the computer program, whereby the second computer architecture is able to perform the computer program more efficiently than the first computer architecture.