Dynamic Instruction Buffer Allocation for Multi-Threading Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Multi-Threading technologies face inefficiencies in allocating instruction buffers among threads, leading to futile resource utilization and performance decline due to insufficient or excessive buffer allocation, which increases chip area, power consumption, and costs.

Innovation Solution

A processing device with a control unit that dynamically allocates instruction buffers using a pointer-based system, linking buffer elements across threads, allowing flexible allocation and release of resources without scaling the buffer unit excessively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If instruction buffers are increased to improve performance, then processing speed is improved, but chip area and power consumption increase

Engineering Contradiction:
Improveprocessing speedVSAvoidchip area
Core Design Contradiction:
SpeedVSArea of stationary object

Solution Approach 1:

The patent implements dynamic allocation of instruction buffers among threads based on runtime conditions. The buffer allocation is not fixed but adjusts automatically according to thread priority, buffer availability, and execution state, allowing the system to optimize performance without permanently increasing chip area.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The same instruction buffer resources serve multiple threads simultaneously through time-multiplexed allocation. The buffer unit functions as a shared resource that can be dynamically assigned to different threads based on their needs, eliminating the requirement for separate dedicated buffers for each thread.

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

2Speed

If instruction buffers are increased to improve performance, then processing speed is improved, but power consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The system dynamically activates and deactivates buffer allocation based on thread execution state. When a thread is not actively executing or when buffers are not needed, the allocation is suspended, reducing power consumption while maintaining the capability to provide high performance when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent allocates buffer resources partially and selectively to threads based on their immediate needs rather than providing full buffers to all threads continuously. This partial allocation reduces overall power consumption while maintaining adequate performance for active threads.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If instruction buffers are allocated to each thread to improve performance, then processing speed is improved, but device complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidbuffer management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges the buffer management functions into a unified control mechanism that handles multiple threads through a single allocation logic. The control unit integrates thread priority management, buffer availability checking, and allocation decisions into one coordinated system, reducing the complexity that would arise from separate management mechanisms for each thread.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system manages complexity by changing allocation parameters (such as buffer size, priority levels, and allocation thresholds) rather than changing the fundamental architecture. This allows flexible adaptation to different threading scenarios without requiring complex structural modifications.

Inventive Principle:
Principle #35Parameter changes

4Speed

If instruction buffers are allocated to each thread to improve performance, then processing speed is improved, but resource utilization efficiency decreases

Engineering Contradiction:
Improveprocessing speedVSAvoidresource utilization efficiency
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent implements dynamic buffer allocation that adjusts in real-time based on thread execution state, priority, and buffer availability. This dynamic approach ensures that buffer resources are continuously allocated to threads that need them most, maximizing resource utilization efficiency while maintaining high processing speed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system enables threads to effectively compete for buffer resources based on their own priority and execution state. The allocation mechanism responds automatically to thread needs without requiring external intervention, allowing efficient self-service allocation that maximizes resource utilization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2453350B1Processing device
Publication Date: 2016.04.27 FUJITSU LTD
  • EP2453350B1 patent drawingFigure 1
  • EP2453350B1 patent drawingFigure 2
  • EP2453350B1 patent drawingFigure 3

AI summary

A management device to manage priority levels of processing targets for which a process is executed when the process is executed for the plurality of processing targets. The management device comprising: an array of retaining units to retain pieces of identifying information for identifying the processing targets according to the priority level with which the process is executed; a comparing unit to determine, when the process is executed for any one of the processing targets, whether or not identifying information for identifying the processing target is coincident with the identifying information retained any of the array of retaining units; and a shift control unit to shift the identifying information with its coincidence being determined by the comparing unit to last one of the array of retaining units in the order of the priority level, and to shift one by one forward the pieces of identifying information retained by another retaining unit posterior to the retaining unit retaining, before being shifted, the identifying information shifted to the last one of the array of retaining units.