Program Block Allocation to Accelerators via Access Count Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In heterogeneous computer systems, efficiently allocating processes to appropriate accelerators is challenging due to the complexity of determining which parts of a source program should be executed on which accelerators, leading to suboptimal performance and increased data transfer overhead.

Innovation Solution

A conversion program is developed that divides a source program into multiple program blocks, analyzes access counts to various accelerators, selects the most appropriate accelerator for each program block based on access counts, and converts the selected program blocks into hardware logic for execution on those accelerators.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual allocation of program blocks to accelerators is performed, then flexibility in assignment is maintained, but determination complexity and time consumption increase significantly

Engineering Contradiction:
Improveease of allocator operationVSAvoidcomplexity of accelerator assignment determination
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The allocation management device automatically performs accelerator assignment determination by analyzing access counts from program blocks to accelerators, eliminating the need for manual configuration. The system self-determines the optimal allocation based on runtime access patterns, reducing operational complexity while maintaining flexibility.

Inventive Principle:
Principle #25Self-service

2Productivity

If program blocks are allocated to accelerators without analysis, then allocation speed is fast, but data transfer overhead increases due to suboptimal assignment

Engineering Contradiction:
Improveallocation speedVSAvoiddata transfer overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary analysis of access counts between program blocks and accelerators before final allocation. By pre-analyzing which accelerators are most frequently accessed by each program block, the system can make optimized allocation decisions that reduce subsequent data transfer overhead while maintaining efficient allocation speed.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If all program blocks are converted to hardware logic, then processing performance improves, but resource consumption and conversion complexity increase

Engineering Contradiction:
Improveprocessing performanceVSAvoidconversion process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies hardware logic conversion selectively only to program blocks that have high access counts to specific accelerators. By identifying and converting only the most beneficial program blocks rather than all of them, the system improves processing performance for critical paths while avoiding unnecessary conversion complexity and resource consumption for less impactful blocks.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12271716B2Computer-readable recording medium storing conversion program and conversion processing method
Publication Date: 2025.04.08 FUJITSU LTD
  • US12271716B2 patent drawing
  • US12271716B2 patent drawing
  • US12271716B2 patent drawing

AI summary

A non-transitory computer-readable recording medium stores a conversion program for causing a computer to execute a process including: dividing a source program into a plurality of program blocks; selecting, based on a result of analysis of an access count from each of the plurality of program blocks to each of a plurality of accelerators, a first program block among the plurality of program blocks and an accelerator of an arrangement destination of the first program block, among the plurality of accelerators; and converting the first program block into a hardware logic to be operated in the accelerator of the arrangement destination.