Virtual CPU Queue Scheduling for I/O Latency and Fairness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization scenarios, existing CPU scheduling methods fail to ensure fair resource allocation between computing-intensive and I/O-intensive tasks, leading to poor performance and real-time execution of I/O-intensive tasks due to resource competition.

Innovation Solution

Implement a scheduling method that dynamically adjusts the scheduling priorities of virtual CPUs based on their resource consumption, placing I/O-intensive tasks in higher priority queues and computing-intensive tasks in lower priority queues, ensuring real-time execution of I/O-intensive tasks while providing sufficient resources to computing-intensive tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing CPU scheduling methods are used in virtualization scenarios, then computing-intensive tasks can obtain sufficient CPU resources, but I/O-intensive tasks experience poor performance and cannot achieve real-time execution due to resource competition

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidreal-time execution delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The scheduling method dynamically adjusts the priority of virtual machines based on their task characteristics. I/O-intensive virtual machines are assigned higher scheduling priorities to ensure timely execution, while computing-intensive virtual machines are assigned lower priorities. This dynamic priority adjustment resolves the contradiction by making the scheduling system adaptive to different task types, ensuring both real-time execution for I/O tasks and sufficient resource allocation for computing tasks.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different scheduling strategies to different virtual machines based on their specific characteristics. By identifying whether a virtual machine is I/O-intensive or computing-intensive, the system applies localized quality adjustments to scheduling priorities. This allows I/O-intensive tasks to receive preferential treatment in terms of scheduling priority while computing-intensive tasks receive adequate but not preferential resource allocation, thus resolving the resource competition issue.

Inventive Principle:
Principle #3Local quality

2Power

If CPU resources are allocated to computing-intensive tasks, then processing power is sufficient, but I/O-intensive tasks suffer from resource competition and poor performance

Engineering Contradiction:
ImproveCPU processing powerVSAvoidI/O task execution performance
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The scheduling method dynamically adjusts the priority of virtual machines based on their task characteristics. I/O-intensive virtual machines are assigned higher scheduling priorities to ensure timely execution, while computing-intensive virtual machines are assigned lower priorities. This dynamic priority adjustment resolves the contradiction by making the scheduling system adaptive to different task types, ensuring both real-time execution for I/O tasks and sufficient resource allocation for computing tasks.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system monitors the characteristics of virtual machine tasks and provides feedback to the scheduler. Based on this feedback regarding whether tasks are I/O-intensive or computing-intensive, the scheduler adjusts priorities accordingly. This feedback mechanism ensures that CPU resources are dynamically reallocated to match actual task needs, improving I/O task performance while maintaining adequate support for computing tasks.

Inventive Principle:
Principle #23Feedback

3Stability of the object's composition

If equal scheduling priority is assigned to all virtual machines, then resource allocation appears fair, but I/O-intensive tasks cannot achieve real-time execution due to competition with computing-intensive tasks

Engineering Contradiction:
Improvescheduling fairnessVSAvoidI/O task response time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent applies different scheduling strategies to different virtual machines based on their specific characteristics. By identifying whether a virtual machine is I/O-intensive or computing-intensive, the system applies localized quality adjustments to scheduling priorities. This allows I/O-intensive tasks to receive preferential treatment in terms of scheduling priority while computing-intensive tasks receive adequate but not preferential resource allocation, thus resolving the resource competition issue.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The scheduling method dynamically adjusts the priority of virtual machines based on their task characteristics. I/O-intensive virtual machines are assigned higher scheduling priorities to ensure timely execution, while computing-intensive virtual machines are assigned lower priorities. This dynamic priority adjustment resolves the contradiction by making the scheduling system adaptive to different task types, ensuring both real-time execution for I/O tasks and sufficient resource allocation for computing tasks.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250390341A1Scheduling method and computer system
Publication Date: 2025.12.25 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US20250390341A1 patent drawing
  • US20250390341A1 patent drawing
  • US20250390341A1 patent drawing

AI summary

A scheduling method and a computer system. The scheduling method comprises: according to scheduling priorities respectively corresponding to a plurality of queues which are configured for a physical CPU, sequentially scheduling virtual CPUs in the plurality of queues to run; and when an accumulated running time of the virtual CPU of any virtual machine reaches a set running time of the virtual machine that corresponds to the current scheduling priority, reducing the scheduling priority of the virtual machine, and adding, to the queue corresponding to the current scheduling priority of the virtual machine, at least one virtual CPU which is in the virtual machine and is in a startup state, wherein according to a sequence of the scheduling priorities from high to low, set running times of the virtual machine that correspond to the plurality of scheduling priorities sequentially increase.