Application-Driven Shared Device Queue Polling in Virtualized Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing computer systems face significant overhead and performance degradation due to the high frequency of data packets arriving at networking devices, which leads to increased interrupt requests and processing overhead, degrading overall system performance.

Innovation Solution

Implementing application-driven polling of shared device queues, where applications request the operating system to poll for pending messages, disabling interrupts associated with these queues to efficiently process messages and reduce latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If interrupt requests are used to notify the computer system of pending data packets, then data packet processing is triggered, but processing overhead increases and system performance degrades

Engineering Contradiction:
Improvedata packet processing notificationVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The application process is modified to autonomously poll for pending messages in device queues without requiring interrupt notifications. The application independently checks for messages, retrieves them, and processes them, eliminating the need for the processor to halt and service interrupts. This self-service approach reduces processing overhead and improves system performance while maintaining reliable data packet processing.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If the processor halts to examine and determine application destinations for data packets, then accurate routing is achieved, but processing speed decreases

Engineering Contradiction:
Improvedata packet routing accuracyVSAvoidprocessing speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

Data packets are pre-sorted and placed in designated device queues based on application identifiers before the application needs them. The networking device performs the routing classification in advance, organizing packets by destination application in shared device queues. When the application polls for messages, the packets are already sorted and ready for immediate retrieval, eliminating the need for the processor to halt and perform routing examinations, thus maintaining both routing accuracy and processing speed.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If shared device queues are used to manage incoming data packets, then resource utilization is improved, but interrupt overhead increases with high data packet frequency

Engineering Contradiction:
Improvedevice queue sharingVSAvoidinterrupt overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The application process autonomously polls shared device queues for pending messages without triggering interrupts. By modifying the application to independently check and retrieve messages from shared queues, the system maintains the resource-efficient shared queue structure while eliminating the energy-wasting interrupt overhead that occurs with high data packet frequencies.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9009702B2Application-driven shared device queue polling in a virtualized computing environment
Publication Date: 2015.04.14 RED HAT ISRAEL
  • US9009702B2 patent drawing
  • US9009702B2 patent drawing
  • US9009702B2 patent drawing

AI summary

Methods and systems for application-driven polling of shared device queues are provided. One or more applications running in non-virtualized or virtualized computing environments may be adapted to enable methods for polling shared device queues. Applications adapted to operate in a polling mode may transmit a request to initiate polling of shared device queues, wherein operating in the polling mode disables corresponding device interrupts. Applications adapted to operate in a polling mode may be regulated by one or more predefined threshold limitations.