FPGA Resource Allocation in Cloud Pools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional resource virtualization methods do not effectively allocate Field Programmable Gate Array (FPGA) resources, limiting their utilization efficiency in cloud computing environments.

Innovation Solution

A method and system for allocating FPGA resources in a resource pool by receiving client requests, performing resource allocation based on utilization state information records, and updating these records to manage resource utilization efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional resource virtualization methods are used, then infrastructure resources such as processors, memory, storage, and networks can be effectively managed, but FPGA resources cannot be visualized or allocated efficiently

Engineering Contradiction:
ImproveFPGA resource visualization capabilityVSAvoidresource allocation system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extends conventional resource virtualization mechanisms to support FPGA resources by introducing a unified resource pool that manages both traditional infrastructure resources and FPGA resources through a common allocation interface, enabling multi-functionality in resource management

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

2Productivity

If FPGA resources are allocated without a systematic allocation mechanism, then the system remains simple, but resource utilization efficiency is poor

Engineering Contradiction:
ImproveFPGA resource utilization efficiencyVSAvoidallocation management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms where the resource pool continuously monitors FPGA resource usage states and adjusts allocations dynamically based on current utilization levels, client requests, and resource availability, improving efficiency through adaptive management

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The allocation system transitions from static resource assignment to dynamic allocation where resource pool state information is continuously updated and used to make real-time allocation decisions, allowing the system to adapt to changing demands

Inventive Principle:
Principle #15Dynamics

3Productivity

If FPGA resources are dedicated to single users, then allocation management is simple, but resource sharing and utilization efficiency are limited

Engineering Contradiction:
Improveresource sharing efficiencyVSAvoidresource pool management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple FPGA resources into a unified resource pool that can be shared among multiple users, combining previously separate allocation mechanisms into a single centralized management system that handles resource sharing through pooled allocation

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9823947B2Method and system for allocating FPGA resources
Publication Date: 2017.11.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9823947B2 patent drawing
  • US9823947B2 patent drawing
  • US9823947B2 patent drawing

AI summary

System, method and computer program product for allocating FPGA resources in a resource pool. In an embodiment, the technical solution includes: receiving resource request for FPGA resources in the resource pool from a client; performing resource allocation operation based on resource pool state information record in response to the resource request, the resource pool state information record including utilization state information of the FPGA in the resource pool; and updating the resource pool state information record based on the result of the resource allocation operation. FPGA resource allocation can be implemented with the adoption of the technical solution of the application.