Virtual Machine Work Queue Binding for I/O Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, improving the I/O performance of Virtio devices with multiple work queues remains a challenge, as existing methods do not effectively optimize the number of work queues bound with I/O threads to enhance processing efficiency.

Innovation Solution

Acquire work queue quantity information for each device of a virtual machine upon startup and create processing threads based on this information to adjust the quantity of work queues bound with I/O threads, allowing each I/O thread to process access requests in the corresponding work queue, thereby optimizing I/O performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of work queues bound with I/O threads is increased, then the I/O processing capacity is improved, but the system complexity and resource consumption increase

Engineering Contradiction:
ImproveI/O processing capacityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic adjustment of work queue binding by allowing I/O threads to be reassigned to different work queues based on runtime conditions. The system can dynamically bind or unbind work queues from I/O threads during operation, enabling flexible adaptation to changing I/O workloads without requiring static configuration. This resolves the contradiction by making the system structure adaptable rather than fixed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the binding parameter between I/O threads and work queues from a fixed state to an adjustable state. By introducing mechanisms to modify the binding relationship (such as unbinding work queues from I/O threads under certain conditions), the system can optimize performance by adjusting the number of bound work queues based on actual I/O demands, thereby improving productivity without permanently increasing system complexity.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If more I/O threads are created to handle multiple work queues, then the I/O performance is improved, but the processor resource consumption increases

Engineering Contradiction:
ImproveI/O performanceVSAvoidprocessor resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent merges multiple work queues with a single I/O thread under certain conditions, reducing the total number of threads required. Instead of creating one thread per work queue, the system can bind multiple work queues to one I/O thread, thereby improving I/O performance through parallel queue processing while minimizing processor resource consumption by reducing thread overhead.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent makes I/O threads universal by enabling a single I/O thread to handle multiple work queues. This multi-functionality allows the system to improve I/O performance without proportionally increasing the number of threads, as each I/O thread can serve multiple queues based on workload requirements, thereby reducing overall processor resource consumption.

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

3Stability of the object's composition

If the work queue binding is fixed during virtual machine startup, then the system stability is improved, but the adaptability to changing I/O workloads deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidadaptability to I/O workloads
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent transitions from static work queue binding at startup to dynamic binding that can change during runtime. The system maintains stability through controlled adjustment mechanisms while improving adaptability by allowing work queue bindings to be modified in response to changing I/O workload conditions, resolving the contradiction between stability and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces feedback mechanisms that monitor I/O workload conditions and use this information to adjust work queue bindings dynamically. By continuously monitoring system state and adjusting bindings based on feedback, the system maintains stability through controlled changes while achieving adaptability to varying I/O demands.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11210127B2Method and apparatus for processing request
Publication Date: 2021.12.28 BEIJING BAIDU NETCOM SCI & TECH CO LTD
  • US11210127B2 patent drawing
  • US11210127B2 patent drawing
  • US11210127B2 patent drawing

AI summary

Embodiments of the present disclosure disclose a method and apparatus for processing a request. A specific embodiment of the method includes: acquiring, in response to start-up of a virtual machine, work queue quantity information of each device of the virtual machine, the work queue quantity information indicating a quantity of work queues of a device bound with a processing thread corresponding to the device of the virtual machine, the quantity being one or more; and creating, based on the work queue quantity information of the each device of the virtual machine, processing threads corresponding to the each device of the virtual machine respectively, the processing thread corresponding to the device of the virtual machine being used to process an access request for the device of the virtual machine in the work queue of the device bound with the processing thread.