Dynamic FPD Deployment via Runtime Workload Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software vendors face challenges in providing application program interfaces (APIs) that can leverage field programmable devices (FPDs) while ensuring compatibility for systems without FPDs, as existing solutions rely on static criteria for utilizing FPDs and do not make dynamic runtime trade-off decisions.

Innovation Solution

Implement a method to dynamically determine whether to use a software library or an FPD binary for processing workloads based on load, cost, and other factors, allowing for selective deployment to either a general-purpose processor or an FPD, and enabling monitoring and billing for FPD usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static criteria are used to determine FPD utilization, then implementation simplicity is maintained, but system adaptability and performance optimization are limited

Engineering Contradiction:
Improvesystem adaptabilityVSAvoiddecision-making complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic decision-making that adapts to runtime conditions. The system continuously monitors workload characteristics, FPD availability, and system state to make real-time decisions about task allocation, replacing static criteria with dynamic evaluation that responds to changing conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms by monitoring workload characteristics and system state, then using this information to adjust FPD utilization decisions. The dynamic nature of the decision process allows the system to learn from and respond to feedback about actual performance and resource availability.

Inventive Principle:
Principle #23Feedback

2Productivity

If FPD is used for all workloads, then processing performance is maximized, but system resource demands and complexity increase

Engineering Contradiction:
Improveprocessing performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies local quality by making FPD utilization selective rather than universal. Different workload types receive different treatment based on their specific characteristics - some workloads are routed to FPD while others remain on general-purpose processors, optimizing performance for appropriate tasks without unnecessarily complicating the system for all tasks.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements partial action by using FPD for only those workloads that benefit from its specialized capabilities. Rather than deploying FPD for all processing tasks, the system applies FPD resources partially and selectively based on workload analysis, avoiding unnecessary complexity while maintaining high performance where needed.

Inventive Principle:
Principle #16Partial or excessive action

3Use of energy by moving object

If FPD is deployed for specialized processing, then native resource demands are reduced, but compatibility requirements across different systems increase

Engineering Contradiction:
Improvenative resource demandsVSAvoidsystem compatibility
Core Design Contradiction:
Use of energy by moving objectVSAdaptability or versatility

Solution Approach 1:

The patent implements universality by designing the system to handle multiple scenarios through a single unified approach. The decision-making framework is designed to work whether FPD is available or not, whether workloads are suitable for FPD or not, and whether systems have FPD capabilities or not. This universal design maintains compatibility across diverse system configurations while still enabling FPD acceleration when appropriate.

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

Data Source

PatentUS10572310B2Deploying and utilizing a software library and corresponding field programmable device binary
Publication Date: 2020.02.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10572310B2 patent drawing
  • US10572310B2 patent drawing
  • US10572310B2 patent drawing

AI summary

Examples of techniques for utilizing a field programmable device binary to perform a workload are disclosed. In one example implementation according to aspects of the present disclosure, a computer-implemented method may include: calling an application program interface to perform a workload; determining, by a processing device, using dynamic characteristics of the workload and a workload environment, whether the workload should be processed by a field programmable device or a software library running on the general purpose processing device; responsive to determining to process the job by the field programmable device, deploying the job to the field programmable device; and responsive to determining to process the job by a software library running on the general purpose processing device, deploying the job to the software library.