Virtual Processor Dispatching with Affinity-Based Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face inefficiencies in dispatching virtual processors to physical processors, leading to idle processor cores and suboptimal performance due to lack of effective affinity-based prioritization and resource allocation.

Innovation Solution

A dispatcher system that prioritizes work requests based on physical processor core and memory affinity, assigns entitled processor cycles, and optimizes virtual processor placement across nodes to maximize performance by ensuring virtual processors run on their home affinity domain when possible, while allowing temporary off-domain execution to utilize excess capacity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If virtual processors are dispatched to any available physical processor to maximize utilization, then processor core idle time is reduced, but system performance deteriorates due to loss of affinity-based optimization

Engineering Contradiction:
Improveidle time of physical processor coresVSAvoidsystem performance
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The dispatching system dynamically adjusts virtual processor placement based on real-time conditions. Virtual processors are preferentially dispatched to their home physical processors for optimal performance, but can be temporarily migrated to other physical processors when home processors are unavailable, balancing affinity optimization with resource utilization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the dispatching parameter from strict affinity-based allocation to a flexible model that considers both affinity and availability. The dispatching decision incorporates the home physical processor status, allowing the system to adapt between performance-optimized mode (when home processors available) and utilization-optimized mode (when home processors unavailable)

Inventive Principle:
Principle #35Parameter changes

2Productivity

If virtual processors are strictly assigned to their home physical processors to maintain affinity, then system performance is optimized, but physical processor idle time increases when home processors are unavailable

Engineering Contradiction:
Improvesystem performanceVSAvoididle time of physical processor cores
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system applies affinity-based dispatching partially rather than strictly. Virtual processors receive preferential treatment to their home physical processors, but when home processors are unavailable, the system allows temporary dispatch to other physical processors, achieving partial affinity optimization while preventing resource idle time

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Physical processors serve multiple functions: they act as home processors for specific virtual processors to optimize performance, and simultaneously serve as backup processors for other virtual processors when needed, maximizing overall system utilization while maintaining affinity benefits where possible

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

3Productivity

If virtual processors are migrated to utilize excess capacity on other nodes, then processor utilization is improved, but system complexity increases due to monitoring and management overhead

Engineering Contradiction:
Improveprocessor utilizationVSAvoiddispatching system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The dispatching system implements feedback mechanisms to monitor physical processor availability and virtual processor performance. This feedback enables intelligent decision-making about when to maintain home processor assignments versus when to migrate to alternative processors, achieving high utilization without excessive complexity through automated status-based routing

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10013264B2Affinity of virtual processor dispatching
Publication Date: 2018.07.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10013264B2 patent drawing
  • US10013264B2 patent drawing
  • US10013264B2 patent drawing

AI summary

In an embodiment, a request is received for a first partition to execute on a first virtual processor. If the first physical processor is available at a first node, the first virtual processor is dispatched to execute at the first physical processor at the first node that is the home node of the first virtual processor. If the first physical processor is not available, a determination is made whether the first physical processor is assigned to a second virtual processor and a home node of the second virtual processor is not the first node. If the first physical processor is assigned to a second virtual processor and the home node of the second virtual processor is not the first node, execution of the second virtual processor is stopped on the first physical processor and the first virtual processor is dispatched to the first physical processor.