CPU Queue-Based Cloud I/O Offload to Prevent Data Overflow

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current I/O processing in cloud environments, where work is completely unloaded to an I/O unloading card, suffers from data overflow and poor processing efficiency due to the separation of CPU data links.

Innovation Solution

Incorporating a queue component into the CPU of a host machine to provide a virtual I/O device and device queue, allowing for scheduling of I/O requests and data transfer between instances and physical devices, with the I/O unloading card only responsible for listening to and transferring data from the device queue.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If I/O processing work is completely unloaded to the I/O unloading card, then the CPU is relieved of I/O processing burden, but data overflow occurs and processing efficiency deteriorates due to separation from CPU data link

Engineering Contradiction:
ImproveI/O processing efficiencyVSAvoiddata overflow control
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges the I/O unloading card with the CPU data link by establishing a direct integration between the queue component in the CPU and the I/O unloading card. This allows the I/O unloading card to access the device queue directly through the CPU's memory management unit, eliminating the separation that caused data overflow issues while maintaining the unloaded processing architecture.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a queue component as an intermediary structure between the CPU and the I/O unloading card. This queue component includes a device queue that buffers I/O requests, allowing the CPU to schedule requests before they reach the I/O unloading card, thereby preventing data overflow while maintaining efficient processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If I/O processing is separated from CPU data link, then I/O work can be fully offloaded, but processing efficiency deteriorates due to lack of real-time scheduling

Engineering Contradiction:
ImproveI/O processing throughputVSAvoidscheduling response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary scheduling action by introducing a queue component in the CPU that pre-processes and schedules I/O requests before they are transferred to the I/O unloading card. The CPU schedules I/O requests in advance based on system state, ensuring optimal processing order and reducing latency when the I/O unloading card executes the requests.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If device queue is moved to CPU, then real-time scheduling based on CPU core loads is enabled, but device complexity increases

Engineering Contradiction:
Improvescheduling controlVSAvoidCPU structure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements a queue component that leverages the CPU's existing memory management unit and address translation capabilities, making the CPU's universal memory management infrastructure serve the additional function of I/O request scheduling. This approach enables real-time scheduling based on CPU core loads without requiring entirely new hardware structures, thus limiting the increase in device complexity.

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

Data Source

PatentUS20260079759A1I/O unloading method and system in cloud environment, device, and storage medium
Publication Date: 2026.03.19 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US20260079759A1 patent drawing
  • US20260079759A1 patent drawing
  • US20260079759A1 patent drawing

AI summary

Embodiments of the present application provide an I/O unloading method and system in a cloud environment, a device, and a storage medium. In the present application, a CPU of a host machine is additionally equipped with a queue component, and it is innovatively proposed to use the queue component in an I/O processing process. Based on this, a virtual I/O device and a device queue corresponding to the virtual I/O device can be provided for an instance on the host machine through the queue component; in the CPU, scheduling is performed on an I/O request occurring between the instance and the virtual I/O device by using the device queue; and an original I/O unloading card only needs to be responsible for listening to the I/O request in the device queue and transferring data related to the I/O request which effectively improves the I/O processing efficiency.