Primary I/O Queue Architecture to Avoid Host-Guest World Switches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization systems incur significant latency due to frequent world switches between host and guest operating systems, which hampers efficient execution of commands.

Innovation Solution

Implementing a primary input/output (PIO) queue that can store and dispatch work commands from multiple operating systems concurrently, allowing execution without the need for a world switch.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If world switch operations are performed to switch between host and guest operating systems, then control over the physical machine is maintained, but execution latency increases due to saving and restoring processor state

Engineering Contradiction:
Improvecontrol retentionVSAvoidexecution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The processor execution context is segmented into multiple independent queues (host queue and guest queues), allowing each queue to maintain its own execution state without requiring full world switches. The control unit can selectively dispatch from different queues based on current operational needs, eliminating the need to save and restore entire processor states during context transitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Processor state is preliminarily organized into separate queue structures before execution context switching is needed. By pre-segmenting execution contexts into host and guest queues with dedicated state storage, the system avoids the time-consuming save/restore operations that would otherwise be required during world switches.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If frequent world switches occur between host and guest operating systems, then resource allocation and command execution are maintained, but overall system performance deteriorates

Engineering Contradiction:
Improveresource allocationVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system segments command processing into separate host and guest queues, allowing parallel command submission and independent processing. Multiple guest commands can be queued and processed without interrupting host operations, and vice versa, thereby maintaining resource allocation flexibility while eliminating performance degradation from frequent context switches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The multi-queue architecture enables continuous command processing across host and guest operating systems. While host commands are being processed, guest commands can be submitted and queued for subsequent processing without requiring the processor to switch contexts, maintaining continuous useful action and improving overall system productivity.

Inventive Principle:
Principle #20Continuity of useful action

3Use of energy by moving object

If a single processor executes both VMM and guest operating systems, then hardware resources are efficiently utilized, but execution context switching requires time-consuming state save and restore operations

Engineering Contradiction:
Improvehardware utilizationVSAvoidcontext switching time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The processor execution model is segmented into multiple independent queues (host queue and multiple guest queues), each maintaining its own execution context. This segmentation allows the single processor to switch between queues without performing full state save and restore operations, as each queue's context is already organized and ready for resumption, thereby reducing context switching time while maintaining efficient hardware utilization.

Inventive Principle:
Principle #1Segmentation

4Reliability

If world switch operations are used to manage commands from multiple operating systems, then proper execution control is maintained, but command execution latency increases

Engineering Contradiction:
Improveexecution controlVSAvoidcommand execution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Commands from host and guest operating systems are segmented into separate queues with dedicated control structures. The control unit can selectively dispatch commands from the appropriate queue based on current execution requirements, maintaining proper execution control through queue management while eliminating the latency associated with world switch operations between different operating system contexts.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12619564B2Primary input-output queue serving host and guest operating systems concurrently
Publication Date: 2026.05.05 ADVANCED MICRO DEVICES INC
  • US12619564B2 patent drawing
  • US12619564B2 patent drawing
  • US12619564B2 patent drawing

AI summary

Systems, apparatuses, and methods for implementing a primary input/output (PIO) queue for host and guest operating systems (OS's) are disclosed. A system includes a PIO queue, one or more compute units, and a control unit. The PIO queue is able to store work commands for multiple different types of OS's, including host and guest OS's. The control unit is able to dispatch multiple work commands from multiple OS's to execute concurrently on the compute unit(s). This allows for execution of work commands by different OS's without the processing device(s) having to incur the latency of a world switch.