Application-Driven Shared Device Queue Polling in Virtualized Computing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Measurement precision
If the processor halts to examine and determine application destinations for data packets, then accurate routing is achieved, but processing speed decreases
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.
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
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.
Data Source
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.


