System-Call Routine Polling I/O Devices for Low-Latency Communications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Communication system-calls in computer systems often experience high latency due to the reliance on interrupts for data reception, which require processing resources and add to the time it takes for data to be transferred from hardware devices to memory buffers.
Innovation Solution
Implementing a method where system-calls in blocking mode repeatedly poll I/O devices alternately to reduce the need for interrupts, allowing for immediate handling of data reception without waiting for interrupts, and optimizing processor usage by scheduling polling processes with shorter sessions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If interrupt-based data reception is used, then data transfer from hardware devices to memory buffers is achieved, but latency increases due to processing resource requirements and interrupt handling time
Solution Approach 1:
The patent extracts the interrupt handling mechanism from the data reception path and replaces it with direct polling by the system call routine. This removes the interrupt overhead (processing resource consumption and latency) while maintaining data reception functionality. The system call routine directly checks for available data without relying on hardware-generated interrupts.
Solution Approach 2:
The system call routine performs self-service by actively polling I/O devices for data availability rather than passively waiting for interrupts. The routine repeatedly queries the device status and retrieves data when available, making the system self-sufficient without external interrupt signals.
2Loss of time
If polling I/O devices is implemented to reduce interrupt usage, then latency is reduced and CPU utilization improves, but system complexity increases due to alternative interrupt handling mechanisms
Solution Approach 1:
The patent inverts the traditional interrupt-driven architecture by making the system call routine active (polling) rather than passive (waiting for interrupts). Instead of the hardware initiating communication through interrupts, the software initiates communication by polling the device, fundamentally reversing the control flow.
Solution Approach 2:
The system call routine performs periodic polling of I/O devices at regular intervals. This periodic action checks for data availability and retrieves it when present, creating a rhythmic pattern of device interaction that replaces the irregular interrupt-driven approach.
3Productivity
If interrupts are used for data reception, then data transfer is achieved, but CPU resources are consumed and processing speed decreases
Solution Approach 1:
The system call routine maintains continuous useful action by polling devices and immediately processing available data without interruption. This continuous operation eliminates the idle periods and context switching associated with interrupt handling, keeping the CPU consistently engaged in productive work.
Solution Approach 2:
The patent extracts the CPU resource consumption associated with interrupt handling and removes it from the data reception process. By eliminating interrupt overhead (context switches, priority management, and handling routines), the CPU resources previously consumed by these operations are freed for productive data processing.
Data Source
AI summary
A method of handling communications by a computer. A system-call communication routine receives a request of an application to perform a socket-related task on a given socket in a blocking mode. The routine repeatedly performs in alternation polling of one or more input/output (I/O) devices servicing the computer and performing the socket-related task.


