Multicore CPU Load Balancing via Event-Driven Threshold Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional load-balancing methods in multi-core portable terminals lead to unnecessary task migration, increasing cache invalidation, scheduling latency, and power consumption due to frequent checks for CPU load balance, which are not effectively managed by existing Linux multicore schedulers.

Innovation Solution

A method that calculates CPU utilization averages and performs load-balancing only when the average exceeds a predetermined threshold, with task migration occurring between CPUs to balance utilization, using a load-balancing policy that minimizes unnecessary migrations and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the conventional load balancer periodically checks CPU load balance and performs task migration when loads are unbalanced, then CPU utilization rates are equalized, but cache invalidation, scheduling latency, and power consumption increase

Engineering Contradiction:
ImproveCPU utilization balanceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The invention changes the parameter for triggering load balance from periodic checking to event-driven checking (when task state changes). This parameter change eliminates unnecessary periodic checks and triggers load balance only when actually needed, reducing power consumption while maintaining CPU utilization balance

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The invention replaces periodic load balance checking with event-driven checking. Instead of checking at fixed intervals, the system checks only when a task state changes, eliminating unnecessary periodic operations and reducing power consumption while maintaining system reliability

Inventive Principle:
Principle #19Periodic action

2Reliability

If the conventional load balancer performs task migration to equalize CPU loads, then load balance is achieved, but scheduling latency increases

Engineering Contradiction:
ImproveCPU utilization balanceVSAvoidscheduling latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The invention performs preliminary checks to determine if load balance is actually needed before performing task migration. By checking task state changes and evaluating whether migration is necessary, the system avoids unnecessary migration operations that would increase scheduling latency

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the conventional load balancer performs frequent task migration to maintain CPU load balance, then utilization rates are equalized, but cache invalidation increases

Engineering Contradiction:
ImproveCPU utilization balanceVSAvoidcache invalidation
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The invention changes the triggering parameter from periodic checks to event-driven checks based on task state changes. This reduces the frequency of load balance operations and associated cache invalidation events while maintaining CPU utilization balance

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10152359B2Load balancing method for multicore mobile terminal
Publication Date: 2018.12.11 SAMSUNG ELECTRONICS CO LTD
  • US10152359B2 patent drawing
  • US10152359B2 patent drawing
  • US10152359B2 patent drawing

AI summary

Methods and apparatus are provided for load-balancing in a portable terminal having a plurality of Central Processing Units (CPUs). A utilization is calculated for each of the plurality of CPUs, when a state of a task is changed. An average of the utilizations of the plurality of CPUs is calculated. It is determined whether the average exceeds a predetermined threshold. Load-balancing is performed when the average exceeds the predetermined threshold.