SIOV Queue Scheduling to Reduce Contention and Queue Pollution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtualization techniques face challenges in efficiently managing shared resources and meeting quality of service (QoS) demands in cloud computing environments, leading to increased contention and scheduling overhead, which hinders scalability and flexibility.

Innovation Solution

Implementing scalable input/output virtualization (SIOV) devices with a scheduler that employs dispatch and queue policies to manage shared work queues and hardware queues, prioritizing high-priority tasks, reducing hardware queue pollution, and optimizing resource utilization through policies like prioritization, exclusivity, distribution, throttling, and batch sampling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional virtualization techniques are used to manage shared resources, then resource sharing is enabled, but contention and scheduling overhead increase

Engineering Contradiction:
Improveresource sharingVSAvoidscheduling overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the queue management system into multiple independent hardware queues, each capable of autonomous operation. This segmentation allows different software processes to be assigned to different hardware queues, reducing contention for shared resources and minimizing scheduling overhead by enabling parallel processing across multiple queue instances.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If more software processes share backend hardware resources, then scalability improves, but resource contention increases

Engineering Contradiction:
ImprovescalabilityVSAvoidresource contention
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces hardware queues as intermediary structures between software processes and backend hardware resources. These hardware queues act as buffers and mediators that decouple the software processes from direct resource access, allowing multiple processes to share resources efficiently while reducing contention through queued-based access patterns and load distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If shared work queues are used to accept tasks from multiple software processes, then resource utilization improves, but hardware queue pollution increases

Engineering Contradiction:
Improveresource utilizationVSAvoidhardware queue pollution
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent applies local quality by assigning specific software processes to specific hardware queues based on their characteristics and requirements. This localized assignment ensures that each hardware queue serves a dedicated set of processes, preventing pollution from unrelated processes while maintaining high resource utilization through targeted queue usage and process-queue matching.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250224982A1Queue Management for Scalable Input/Output Virtualization (SIOV) Devices
Publication Date: 2025.07.10 ADVANCED MICRO DEVICES INC
  • US20250224982A1 patent drawing
  • US20250224982A1 patent drawing
  • US20250224982A1 patent drawing

AI summary

In accordance with the described techniques, a scalable input/output virtualization (SIOV) device includes multiple hardware queues, backend hardware resources, and a command processor running scheduling firmware. The scheduling firmware selects a shared work queue of multiple shared work queues managed by the scheduling firmware from which to dispatch tasks based on one or dispatch policies. In addition, the scheduling firmware selects a hardware queue of the multiple hardware queues in which to enqueue the tasks based on one or more queue policies. Further, the scheduler dispatches the tasks from the shared work queue to the hardware queue, and the tasks are read from the hardware queue by the backend hardware resources for execution.