Adaptive Eviction of Idle Virtual Functions in Parallel Processors
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


