Adaptive Eviction of Idle Virtual Functions in Parallel Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Temporal partition-based SR-IOV solutions in parallel processor virtualization often lead to underutilization of the parallel processor due to uniform time slice allocation, regardless of the virtual function's work state, resulting in wasted bandwidth.

Innovation Solution

Implement work-state-aware scheduling and adaptive eviction techniques, where a time slice monitor detects idle virtual functions and initiates adaptive eviction, and a context switch scheduler assigns time slices based on the current work state of virtual functions, ensuring that only busy virtual functions utilize the parallel processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If uniform time slice allocation is used for all virtual functions, then scheduling simplicity and fairness are improved, but parallel processor utilization deteriorates due to idle virtual functions wasting bandwidth

Engineering Contradiction:
Improvescheduling simplicityVSAvoidparallel processor utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic time slice allocation where the time slice duration is adjusted based on the work state of virtual functions. Busy virtual functions receive longer time slices while idle virtual functions receive shorter or no time slices. This dynamic adaptation resolves the contradiction by maintaining scheduling simplicity through automated state-based decisions while significantly improving processor utilization by eliminating wasted bandwidth from idle functions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the time slice parameter dynamically based on virtual function work state. The system monitors whether virtual functions are busy or idle and adjusts the time slice allocation parameter accordingly. This parameter change approach allows the system to maintain fairness and simplicity in scheduling while optimizing resource allocation to prevent bandwidth waste from idle virtual functions.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If time slices are allocated to all virtual functions regardless of work state, then scheduling fairness is improved, but bandwidth waste increases due to idle virtual functions

Engineering Contradiction:
Improvescheduling fairnessVSAvoidbandwidth waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the system continuously monitors the work state of virtual functions and uses this information to adjust time slice allocation. The feedback loop detects when virtual functions become idle and automatically reduces or eliminates their time slice allocation. This feedback approach maintains scheduling fairness for active functions while eliminating bandwidth waste from idle functions through automated state-responsive adjustments.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent dynamically changes the time slice parameter based on monitored work state parameters. When virtual functions transition from busy to idle state, the system changes the time slice parameter to reflect this state change, thereby reducing bandwidth allocation to idle functions. This parameter change mechanism preserves fairness for functions that need resources while eliminating waste from idle functions.

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If context switches occur at fixed time slice boundaries, then scheduling predictability is improved, but resource efficiency deteriorates when virtual functions complete work before time slice expiration

Engineering Contradiction:
Improvescheduling predictabilityVSAvoidresource efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent makes the context switch timing dynamic by allowing early context switches when virtual functions complete their work before the scheduled time slice boundary. The system monitors work completion events and triggers context switches at the optimal moment rather than waiting for fixed boundaries. This dynamic approach maintains predictability through state-based timing while significantly improving resource efficiency by freeing the parallel processor for other work sooner.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary context switch preparation by detecting work completion events in advance of the scheduled time slice boundary. When a virtual function completes its work, the system initiates the context switch process early rather than waiting for the fixed boundary. This preliminary action maintains scheduling predictability through structured event-driven transitions while improving resource efficiency by reducing idle waiting time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250173172A1Adaptive eviction of idle virtual functions for maximum usage of a parallel processing unit
Publication Date: 2025.05.29 ADVANCED MICRO DEVICES INC
  • US20250173172A1 patent drawing
  • US20250173172A1 patent drawing
  • US20250173172A1 patent drawing

AI summary

A device includes a parallel processor and a context switch scheduling circuit that is part of or separate from the parallel processor. The parallel processor is configured to execute requests from a plurality of virtual functions. The context switch scheduling circuit is configured to, responsive to a first virtual function of the plurality of virtual functions becoming idle during a first time slice at the parallel processor, perform a context switch for a second virtual function of the plurality of virtual functions before expiration of the first time slice, and assign a second time slice at the parallel processor to the second virtual function.