System-Call Routine Polling I/O Devices for Low-Latency Communications

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata reception latencyVSAvoidprocessing efficiency
Core Design Contradiction:
Loss of timeVSProductivity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improveinterrupt latencyVSAvoidsystem architecture complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #13The other way round (Inversion)

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.

Inventive Principle:
Principle #19Periodic action

3Productivity

If interrupts are used for data reception, then data transfer is achieved, but CPU resources are consumed and processing speed decreases

Engineering Contradiction:
Improvedata transfer speedVSAvoidCPU resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

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.

Inventive Principle:
Principle #20Continuity of useful action

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8869171B2Low-latency communications
Publication Date: 2014.10.21 MELLANOX TECHNOLOGIES LTD(IL)
  • US8869171B2 patent drawing
  • US8869171B2 patent drawing
  • US8869171B2 patent drawing

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.