Hybrid CPU Thread Sampling for Speed and Power Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hybrid CPU systems face inefficiencies in optimizing the execution of single-threaded and multithreaded applications, as existing methods require pre-classification of processors based on performance, leading to unnecessary power consumption and thermal issues.

Innovation Solution

A system that dynamically samples application threads to differentiate CPU performance by increasing speed for single-threaded applications and reducing speed for multithreaded applications, using bus ratio adjustments and thermal power prediction to optimize resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If all processors in a multiprocessor system are made to run at high speed to accommodate single-threaded applications, then single-threaded application performance is improved, but power consumption increases

Engineering Contradiction:
ImproveCPU speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system segments processors into different types (first type for single-threaded applications, second type for multithreaded applications) based on their performance characteristics. This segmentation allows each processor type to be optimized for its specific workload, enabling high-speed processing for single-threaded applications while using lower-power processors for multithreaded applications, thus resolving the contradiction between speed and power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by assigning different performance characteristics to different processors based on the specific requirements of applications. High-performance (high-power) processors are allocated to single-threaded applications that benefit from raw speed, while lower-performance (lower-power) processors handle multithreaded applications. This localized optimization resolves the contradiction by ensuring high speed only where it is most beneficial.

Inventive Principle:
Principle #3Local quality

2Productivity

If processors are pre-classified by performance type, then application dispatching efficiency is improved, but device complexity increases

Engineering Contradiction:
Improveapplication dispatching efficiencyVSAvoidprocessor classification complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system employs dynamic processor classification where processors can transition between different types based on runtime conditions and application requirements. Rather than fixed pre-classification, the system dynamically determines whether a processor should operate as type 1 or type 2 based on current workload characteristics, maintaining dispatching efficiency while reducing the complexity of rigid processor classification.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes processor parameters (such as operational mode, frequency, or configuration) based on the type of application being executed. This allows processors to adapt their characteristics dynamically, improving dispatching efficiency without requiring complex permanent classification schemes. The parameters are adjusted based on runtime analysis of application behavior.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8578388B2Optimizing the performance of hybrid CPU systems based upon the thread type of applications to be run on the CPUs
Publication Date: 2013.11.05 SERVICENOW INC
  • US8578388B2 patent drawing
  • US8578388B2 patent drawing
  • US8578388B2 patent drawing

AI summary

A hybrid CPU system wherein the plurality of processors forming the hybrid system are initially undifferentiated by type or class. Responsive to the sampling of the threads of a received and loaded computer application to be executed, the function of at least one of the processors is changed so that the threads of the sampled application may be most effectively processed/run on the hybrid system.