Neural Network Computing Resource Adjustment via Dynamic Clock Frequency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks face inefficiencies due to mismatched computation times between convolution and pooling operations, leading to underutilization of computing resources as they require significant computing power, despite idle resources being present.

Innovation Solution

Adjusting the clock frequencies of computing units to match convolution and pooling operation times, ensuring that actual pooling time aligns with estimated convolution time, thereby optimizing resource utilization by dynamically switching clock frequencies based on expected pooling and convolution times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the pooling computation time and convolution computation time in the same layer are made equal or close to each other by satisfying worst scenario requirements, then parallel efficiency of algorithms in the same layer is improved, but a large quantity of computing resources are consumed

Engineering Contradiction:
Improveparallel efficiencyVSAvoidcomputing resources consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent introduces a clock frequency adjustment mechanism that dynamically changes the operating frequency of computing units based on real-time detection of convolution and pooling computation times. Instead of statically allocating resources to satisfy worst-case scenarios, the system adaptively balances computation times by adjusting clock frequencies, thereby reducing overall resource consumption while maintaining parallel efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters (clock frequency) of computing units to optimize resource utilization. By detecting actual computation times and adjusting clock frequencies accordingly, the system transforms fixed resource allocation into a flexible parameter-based control mechanism, allowing computing resources to be efficiently matched to actual computational needs rather than worst-case estimates.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the clock frequency of computing units is increased to reduce pooling computation time, then parallel efficiency is improved, but energy consumption increases

Engineering Contradiction:
Improveparallel efficiencyVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts clock frequency based on detected computation time imbalances rather than maintaining a consistently high frequency. This dynamic adaptation allows the system to achieve necessary parallel efficiency only when and where needed, significantly reducing energy consumption compared to continuously operating at maximum frequency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a feedback mechanism where the system detects actual computation times of convolution and pooling operations, compares them against target values, and adjusts clock frequency accordingly. This closed-loop control ensures energy-efficient operation by applying frequency adjustments only when computation time balancing is required, rather than unnecessarily consuming energy during already-balanced operations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3745308B1Neural network computing method and apparatus, and related device
Publication Date: 2024.01.17 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • EP3745308B1 patent drawingFigure 1a~1b
  • EP3745308B1 patent drawingFigure 2
  • EP3745308B1 patent drawingFigure 3

AI summary

Embodiments of this application disclose a computing resource adjustment method and apparatus, and a related device. The method includes: obtaining an expected pooling time of a target pooling layer and a to-be-processed data volume of the target pooling layer, and obtaining a current clock frequency corresponding to a computing resource unit used for pooling; determining a target clock frequency according to the expected pooling time of the target pooling layer and the to-be-processed data volume of the target pooling layer; and switching the current clock frequency to the target clock frequency when a convolution layer associated with the target pooling layer completes convolution and the current clock frequency is different from the target clock frequency, and performing pooling in the target pooling layer based on the computing resource unit having the target clock frequency.