Application-Driven Shared Queue Polling for Network Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing computer systems face significant overhead and performance degradation due to the frequent interrupt requests generated by increasing data packet frequencies at networking devices, leading to increased latency in processing data packets intended for various applications.
Innovation Solution
Implementing application-driven polling of shared device queues, where applications request the operating system to poll for pending messages, allowing the disabling of device interrupts during polling, thereby reducing latency and improving processing efficiency.
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 delivery is ensured, but system overhead increases and performance degrades
Solution Approach 1:
The patent implements periodic polling by applications to check for pending messages in device queues, replacing the continuous interrupt-driven model. Applications periodically query the device queue status at controlled intervals, which reduces the frequency of processor interruptions while ensuring messages are eventually detected and processed.
Solution Approach 2:
The patent extracts the message checking function from the interrupt handling mechanism and places it directly in applications. Instead of the processor being interrupted to check queues, applications autonomously poll for messages, removing the overhead of interrupt context switching and processor halts while maintaining reliable message delivery.
2Productivity
If the frequency of data packets arriving at the networking device increases, then network throughput is improved, but interrupt overhead increases and degrades overall system performance
Solution Approach 1:
The patent enables applications to self-service by directly polling for their own messages in device queues. Each application autonomously checks for pending messages without requiring processor intervention or interrupt handling, allowing the system to scale to higher data packet frequencies without proportionally increasing interrupt overhead.
3Reliability
If the processor halts to handle interrupt requests, then pending data packets are processed, but processing latency increases
Solution Approach 1:
The patent implements preliminary action by having applications continuously or periodically check for messages before they become critical. Applications proactively poll device queues to detect pending messages early, allowing them to process data packets before interrupt latency would otherwise cause delays, thus reducing overall processing latency while maintaining reliable interrupt handling.
Data Source
AI summary
Methods and systems relate to receiving, at a system device, a first request from an operating system, the first request identifying shared queue and providing an instruction to the system device to enable polling of the identified shared queue, enabling, by a processing device, polling of the identified shared queue, wherein enabling polling comprises identifying a message in the identified shared queue and polling information related to the identified shared queue, and disabling, by the processing device, a device interrupt associated with the message in the identified shared queue.


