FPGA Resource Control via Multi-Stage Priority Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing FPGA resource control systems fail to simultaneously satisfy abstraction, flexibility, controllability, and fairness when multiple user programs share resources, leading to inefficiencies in resource allocation and usage.

Innovation Solution

A resource control device comprising a controller unit to set FPGA IP core resources, a common unit to create user queues with multiple priorities, and a scheduler unit for multi-stage task scheduling across user queues, ensuring fair and flexible allocation of resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If multiple user programs are simply operated as multiple processes, then the system is simple to implement, but the requirements of abstraction, flexibility, controllability and fairness cannot be satisfied simultaneously

Engineering Contradiction:
Improvesimplicity of implementationVSAvoidability to satisfy abstraction, flexibility, controllability and fairness
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The scheduling system is segmented into multiple priority levels (first priority, second priority, third priority queues) to differentiate and manage multiple user programs. Each priority queue handles specific types of tasks independently, allowing the system to satisfy multiple requirements (abstraction, flexibility, controllability, fairness) simultaneously while maintaining manageable complexity through structured division.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If FPGA resources are allocated to multiple users without multi-stage scheduling, then resource allocation is simple, but resource efficiency and fairness deteriorate

Engineering Contradiction:
Improvesimplicity of resource allocationVSAvoidresource efficiency of FPGA
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system implements dynamic resource allocation through multi-stage scheduling where the allocation of FPGA resources changes based on task priority and queue status. The scheduler unit dynamically selects tasks from different priority queues and allocates IP cores accordingly, ensuring that high-priority tasks receive resources first while maintaining overall system efficiency and fairness across multiple users.

Inventive Principle:
Principle #15Dynamics

3Productivity

If multi-stage scheduling is implemented in user queues and between user queues, then resource allocation fairness and efficiency improve, but system complexity increases

Engineering Contradiction:
Improveresource efficiency and fairnessVSAvoidcomplexity of scheduling system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The complex scheduling problem is segmented into manageable stages: first, tasks are organized into priority queues (segmentation by priority level); second, the scheduler unit processes each queue in sequence (segmentation by processing stage); third, IP core allocation is handled separately from task scheduling (segmentation of allocation functions). This segmentation reduces the overall system complexity while maintaining multi-stage scheduling benefits for fairness and efficiency.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If IP core resources are shared among multiple programs without controlled allocation, then flexibility is high, but controllability and fairness deteriorate

Engineering Contradiction:
Improveflexibility of resource allocationVSAvoidcontrollability and fairness of resource distribution
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The scheduler unit acts as an intermediary between user programs and IP core resources. It receives task requests from multiple programs, applies fairness and controllability rules through the multi-stage scheduling process, and then allocates IP cores accordingly. This intermediary layer maintains flexibility in resource sharing while ensuring controllability and fairness through structured priority-based allocation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240095067A1Resource control device, resource control system, and resource control method
Publication Date: 2024.03.21 NIPPON TELEGRAPH & TELEPHONE CORP
  • US20240095067A1 patent drawing
  • US20240095067A1 patent drawing
  • US20240095067A1 patent drawing

AI summary

A resource control device includes: a controller unit configured to set resources related to IP cores of an FPGA 8 in which a user program executes a task; a common unit configured to create a user queue that is a set of queues having a plurality of priorities for each user program, and store tasks in the user queue; and a scheduler unit configured to select a task to be executed by any one of the IP cores by multi-stage scheduling in the user queue and between the user queues.