Processor Thread Allocation via Delay-Cost Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional schedulers for multi-threaded processors in modern computer systems fail to efficiently schedule multiple simultaneously executing threads and do not explicitly address tradeoffs associated with core or hardware thread assignments, nor do they consider energy usage in hypervisor contexts.

Innovation Solution

A scheduler that allocates hardware threads based on priorities and delay-costs, optimizing the sum of priorities or generalized delay-costs, while considering energy consumption and fairness criteria, to balance the system load by distributing guest operating systems across processor pools.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional schedulers assign fair share time slices to each guest operating system, then fairness is improved, but the ability to handle multiple simultaneously executing threads and optimize for energy usage deteriorates

Engineering Contradiction:
ImprovefairnessVSAvoidhandling multiple threads and energy optimization
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The scheduler dynamically adjusts time slice allocations based on real-time conditions including thread priorities, delay costs, and energy consumption metrics. The fair share concept is made dynamic by allowing guests to receive different time slice lengths based on their current state, requested threads, and energy efficiency considerations, rather than fixed equal portions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes multiple scheduling parameters simultaneously including time slice duration, priority levels, and allocation decisions based on a comprehensive evaluation of delay costs and energy consumption. This multi-parameter optimization allows the scheduler to balance fairness with performance and energy efficiency.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the scheduler allocates more hardware threads to guest operating systems, then processing capability is improved, but energy consumption increases

Engineering Contradiction:
Improveprocessing capabilityVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The scheduler optimizes the number of hardware threads allocated to each guest by evaluating delay costs and energy consumption together. It dynamically adjusts thread allocation parameters to achieve the optimal balance where additional threads provide sufficient performance improvement while keeping energy consumption within acceptable limits.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system incorporates feedback mechanisms that monitor energy consumption and adjust thread allocations accordingly. The scheduler uses delay cost calculations that factor in energy usage, allowing it to reduce thread allocation when performance needs are low and increase allocation when critical performance requirements exist.

Inventive Principle:
Principle #23Feedback

3Productivity

If the scheduler optimizes the sum of generalized delay-costs, then scheduling efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvescheduling efficiencyVSAvoidscheduling algorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduling problem is segmented into manageable components: calculating individual delay costs for each guest, determining generalized delay costs that incorporate energy factors, and then optimizing the overall allocation. This breakdown of the complex optimization problem into discrete steps makes the algorithm more implementable and maintainable.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8286170B2System and method for processor thread allocation using delay-costs
Publication Date: 2012.10.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8286170B2 patent drawing
  • US8286170B2 patent drawing
  • US8286170B2 patent drawing

AI summary

A computer system includes a plurality of multi-threaded processors, and a scheduler. The multi-threaded processors each have a set of hardware threads forming a pool of hardware threads. The scheduler allocates hardware threads of the pool of hardware threads to one or more guest operating systems based on priorities of the guest operating systems. The priorities of the guest operating systems are based on logical processors requested by the guest operating systems.