Heterogeneous Processor Workload Scheduling for Power Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-processor computer systems with identical CPUs face inefficiencies due to performance and power tradeoffs, leading to suboptimal performance per Watt of power, especially when handling varied workloads, as they are designed for general purposes rather than specific tasks, and process variations cause all cores to run at a lowest common denominator.

Innovation Solution

A multiprocessor system with heterogeneous processing units that analyze workload characteristics to schedule tasks on units with matching performance metrics, allowing for efficient execution on 'best-fit' processing units, reducing power demand and increasing processing density while simplifying design and reducing costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If identical general purpose processors are used in a multi-processor system, then system design is simplified and flexibility to handle various tasks is maintained, but performance per Watt of power is suboptimal due to performance tradeoffs made for general flexibility

Engineering Contradiction:
Improveflexibility to handle various tasksVSAvoidperformance per Watt of power
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The processor is segmented into multiple specialized execution units within each core, including vector execution units, scalar execution units, and different types of load/store units. Each execution unit is optimized for specific task types (vector operations, scalar operations, memory access), allowing the processor to handle diverse workloads efficiently while maintaining a unified core structure. This segmentation enables better performance per Watt by matching execution units to workload requirements without requiring entirely different processor architectures.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If general purpose processors are designed to handle a variety of applications, then they can accommodate different workload types, but they are not optimal for any specific task and sacrifice performance for flexibility

Engineering Contradiction:
Improveability to handle variety of applicationsVSAvoidperformance optimality for specific tasks
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The processor implements dynamic workload classification and execution unit selection mechanisms that adaptively route different types of instructions to the most appropriate execution units based on the current workload characteristics. The system can dynamically adjust the activation and configuration of different execution units (vector, scalar, load/store) depending on the mix of computational tasks being performed, thereby achieving near-optimal performance for specific task types while maintaining general-purpose capability.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If process variations cause different performance/power results on different cores in an integrated circuit, then manufacturing variability exists, but the entire multi-core processor must run at the lowest common denominator for performance and power

Engineering Contradiction:
Improvetolerance to process variationsVSAvoidoverall processor performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The processor implements per-core performance characterization and workload assignment mechanisms that account for process variations. Each core is individually characterized to determine its performance capabilities and power consumption characteristics. Workloads are then dynamically assigned to cores based on their specific performance levels, allowing the system to utilize the full range of core capabilities rather than being constrained to the lowest common denominator. High-performance cores can handle computationally intensive tasks while lower-performance cores handle less demanding workloads, maximizing overall system throughput.

Inventive Principle:
Principle #3Local quality

4Productivity

If more processing units are added to increase processing density, then throughput can be improved for the same power and footprint, but the complexity of designing and building each unit increases

Engineering Contradiction:
Improveprocessing throughputVSAvoiddesign and building complexity of processing units
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor uses a unified core architecture with standardized execution units and control logic across all cores, reducing design complexity. The homogeneous core design allows for easier manufacturing and verification while still providing specialized execution capabilities through the segmented execution units within each core. This approach enables scaling to multiple cores without proportionally increasing the complexity of each individual core, as the standardized design can be replicated across cores with minimal variation.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS10025590B2Multicore processor and method of use that configures core functions based on executing instructions
Publication Date: 2018.07.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10025590B2 patent drawing
  • US10025590B2 patent drawing
  • US10025590B2 patent drawing

AI summary

A multiprocessor system having plural heterogeneous processing units schedules instruction sets for execution on a selected of the processing units by matching workload processing characteristics of processing units and the instruction sets. To establish an instruction set's processing characteristics, the homogeneous instruction set is executed on each of the plural processing units with one or more performance metrics tracked at each of the processing units to determine which processing unit most efficiently executes the instruction set. Instruction set workload processing characteristics are stored for reference in scheduling subsequent execution of the instruction set.