Pipeline Mode Switching for Energy and Throughput Trade-offs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processing systems face challenges in balancing energy consumption and instruction execution rate across multiple active threads, as existing systems either consume less energy but execute instructions slower or execute faster but at higher energy costs.

Innovation Solution

The system employs fetch and pipeline circuitry with two operating modes: a low-energy mode for multiple threads and a high-execution-rate mode for single threads, with mode switching based on the number of active threads, enabling or disabling pipeline portions to optimize energy usage and throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the pipeline circuitry operates in the second operating mode (high execution rate mode), then the average rate of instruction execution for a single thread is increased, but the average energy consumption per instruction executed increases

Engineering Contradiction:
Improveinstruction execution rateVSAvoidenergy consumption per instruction
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The pipeline circuitry dynamically switches between first and second operating modes based on the number of active threads. When fewer threads are active, the system transitions to the second mode with higher execution rate. When more threads are active, it switches to the first mode with lower energy consumption. This dynamic adaptation resolves the contradiction by adjusting operational characteristics according to workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters by switching between different operating modes that have distinct characteristics. The mode switching circuitry alters the operational state of the pipeline circuitry, enabling it to operate with different energy consumption rates and execution speeds based on the number of active threads, thereby resolving the trade-off between energy efficiency and performance.

Inventive Principle:
Principle #35Parameter changes

2Use of energy by moving object

If the pipeline circuitry operates in the first operating mode (low energy mode), then the average energy consumption per instruction executed is reduced, but the average rate of instruction execution for a single thread decreases

Engineering Contradiction:
Improveenergy consumption per instructionVSAvoidinstruction execution rate
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system dynamically adjusts the operational mode of the pipeline circuitry based on real-time thread activity. When the number of active threads indicates lower workload, the system transitions to the first operating mode with reduced energy consumption. This dynamic behavior allows the system to optimize energy usage during periods of lower demand while maintaining the capability to switch to high-performance mode when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The mode switching circuitry changes the operational parameters of the pipeline circuitry by selecting between different operating modes. This parameter change enables the system to operate at different energy consumption levels and execution rates, resolving the contradiction by adapting to the actual workload requirements rather than maintaining a fixed operational state.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If mode switching circuitry dynamically switches between operating modes based on the number of active threads, then energy efficiency and throughput are optimized, but the device complexity increases

Engineering Contradiction:
Improveenergy efficiency optimizationVSAvoidpipeline circuitry complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The pipeline circuitry is designed with multi-functionality to operate in both first and second operating modes. The mode switching circuitry enables a single pipeline structure to perform multiple operational functions, adapting its characteristics based on the number of active threads. This universal design allows the system to achieve both energy efficiency and high throughput without requiring entirely separate hardware for each mode.

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

Solution Approach 2:

The system employs self-service through automatic mode switching based on thread activity detection. The mode switching circuitry monitors the number of active threads and autonomously selects the appropriate operating mode without requiring external intervention. This self-adjusting mechanism optimizes energy efficiency and throughput while minimizing the need for complex external control systems.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10705587B2Mode switching in dependence upon a number of active threads
Publication Date: 2020.07.07 ARM LTD
  • US10705587B2 patent drawing
  • US10705587B2 patent drawing
  • US10705587B2 patent drawing

AI summary

Apparatus for processing data is provided with fetch circuitry for fetching program instructions for execution from one or more active threads of instructions having respective program counter values. Pipeline circuitry has a first operating mode and a second operating mode. Mode switching circuitry switches the pipeline circuitry, between the first operating mode and the second operating mode in dependence upon a number of active threads of program instructions having program instructions available to be executed. The first operating mode has a lower average energy consumption per instruction executed than the second operating mode and the second operating mode has a higher average rate of instruction execution for a single thread than the first operating mode. The first operating mode may utilise a barrel processing pipeline to perform interleaved multiple thread processing. The second operating mode may utilise an out-of-order processing pipeline for performing out-of-order processing.