Offload Server Optimizing Parallel Processing Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for automatically offloading processing to GPUs or FPGAs often fail to optimize performance and power consumption simultaneously, leading to inefficient resource utilization in heterogeneous computing environments.

Innovation Solution

An offload server that analyzes application code, designates data transfer, specifies parallel processing patterns, and measures performance to select optimal execution patterns based on processing time and power consumption, using a genetic algorithm to automate the offloading process and improve resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If automatic parallelization is performed using existing compilers, then processing speed is improved, but data exchange overhead between CPU-GPU memories deteriorates performance

Engineering Contradiction:
Improveprocessing speedVSAvoiddata exchange overhead
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system performs preliminary analysis of application code to identify suitable parallel processing sections before actual execution. It pre-determines which loops should be offloaded to GPUs based on predicted performance gain, avoiding unnecessary data transfers by selecting only the most beneficial parallelization targets.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system measures actual execution time and power consumption of parallelized code sections, uses this feedback to evaluate performance gain, and adjusts future parallelization decisions accordingly. This feedback loop ensures that only parallelization sections delivering net performance improvement are selected.

Inventive Principle:
Principle #23Feedback

2Productivity

If manual tuning using OpenCL or CUDA is performed, then processing performance is improved, but the skill requirement and time to start use deteriorates

Engineering Contradiction:
Improveprocessing performanceVSAvoidtime to start use
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system automatically performs code analysis, identifies parallel processing sections, generates optimized OpenCL/CUDA code, and handles data transfer management without requiring user intervention. The offload server self-adjusts parallelization strategies based on the application code structure, eliminating the need for user expertise in low-level GPU programming.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system dynamically adjusts parallelization parameters such as block size, grid dimension, and data transfer timing based on the specific characteristics of the application code and hardware configuration. This automated parameter optimization eliminates manual tuning while adapting to different workloads.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If data is transferred frequently between CPU and GPU, then data availability is improved, but processing efficiency deteriorates due to transfer overhead

Engineering Contradiction:
Improvedata availabilityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary code analysis to identify variables that need to be transferred between CPU and GPU, and pre-organizes data transfer timing to minimize interruptions. It determines optimal transfer points before execution, reducing the frequency of data transfers while ensuring data availability when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system optimizes data transfer scheduling to minimize interruptions in the useful computational action. By carefully timing transfers between CPU and GPU, it maintains continuous productive work on the GPU while ensuring data is available when required, reducing the impact of transfer overhead on overall processing efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20240338256A1Offload server, offload control method, and offload program
Publication Date: 2024.10.10 NIPPON TELEGRAPH & TELEPHONE CORP
  • US20240338256A1 patent drawing
  • US20240338256A1 patent drawing
  • US20240338256A1 patent drawing

AI summary

An offload server includes a performance measurement unit that compiles an application of a parallel processing pattern, arranges the application in an accelerator verification apparatus, and executes processing of measuring performance achieved when offloading to an accelerator is performed, an evaluation value setting unit that sets an evaluation value including a processing time and power consumption and having a higher value as a processing time is shorter and power consumption is lower on the basis of a processing time and power consumption required at a time of offloading measured by the performance measurement unit, and an execution file creation unit that selects a parallel processing pattern having the highest evaluation value from among a plurality of the parallel processing patterns on the basis of a measurement result of a processing time and power consumption, compiles the parallel processing pattern having the highest evaluation value, and creates an execution file.