DPDK Helper Process for Unresponsive Application Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems using the Data Plane Development Kit (DPDK) face challenges in efficiently transmitting and receiving data over networks, particularly when applications become unresponsive, as they lack a seamless mechanism for kernel-mode intervention and protocol processing without disrupting user-space operations.

Innovation Solution

A data processing system is designed with a processor subsystem that includes a non-operating system functionality using DPDK for network interface support and protocol processing, along with helper processes executing in user-mode to manage data transmission and reception, ensuring continuous data transfer and reception even when applications are unresponsive by utilizing pseudo virtual interfaces and virtual interface code for communication between user and kernel levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If DPDK user-level libraries and NIC drivers are used for network data processing, then packet processing speed is improved, but the system lacks kernel-mode intervention capability when applications become unresponsive

Engineering Contradiction:
Improvepacket processing speedVSAvoidsystem reliability under unresponsive application conditions
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a helper process as an intermediary component that bridges user-space DPDK functionality and kernel-mode operations. When the application becomes unresponsive, the helper process (running in user-mode) can still access the data buffer and connection state, then invoke kernel-mode functions through a pseudo virtual interface to complete the data transmission. This mediator enables kernel intervention without disrupting the user-space DPDK framework, resolving the contradiction between high-speed packet processing and system reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If user-level protocol processing is implemented, then data transmission efficiency is improved, but continuous data transfer cannot be ensured when applications are unresponsive

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidcontinuous data transfer capability
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent ensures continuous data transfer by implementing a helper process that monitors application responsiveness and can continue data transmission operations independently. When the application becomes unresponsive, the helper process detects this state and takes over the data transmission task using kernel-mode functions, ensuring the useful action of data transfer continues without interruption. This maintains both high productivity through user-level processing and continuous operation through kernel backup mechanisms.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If DPDK data plane functionality is provided at user level, then network performance is improved, but kernel-mode protocol processing cannot intervene seamlessly

Engineering Contradiction:
Improvenetwork performanceVSAvoidkernel-mode intervention capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal interface layer that supports both user-space DPDK operations and kernel-mode protocol processing. The pseudo virtual interface serves multiple functions: it allows normal user-level data plane operations to proceed efficiently, while also providing a mechanism for kernel-mode functions to intervene when needed. This multi-functional design maintains network performance benefits of user-level processing while adding kernel intervention capability through a unified interface.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3402172B1A data processing system
Publication Date: 2021.02.17 XILINX INC
  • EP3402172B1 patent drawingFigure 1
  • EP3402172B1 patent drawingFigure 2
  • EP3402172B1 patent drawingFigure 3

AI summary

A data processing system has a poll mode driver and a library supporting protocol processing. The poll mode driver and the library are non-operating system functionalities. An application is provided. An operation system is configured while executing in kernel mode and in response to the application being determined to be unresponsive, use a helper process being an operating system functionality executing at user-mode to cause a receive or transmit mode of the application to continue.