Network Device Multiple DMA Channels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network interface controllers in server-based systems are inefficient due to their monolithic design, leading to high latency and increased complexity in handling diverse data types, as they are not optimally configured for various protocols, resulting in performance bottlenecks and reduced fault tolerance.

Innovation Solution

A network device with multiple independent direct memory access (DMA) channels allows each application to have its own DMA channel, independent of others, enabling efficient data packet handling and reducing system complexity, thereby improving network virtualization and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single monolithic network interface controller is used to handle all data packets, then device complexity is reduced, but performance bottlenecks and latency increase due to inability to optimize for different protocols

Engineering Contradiction:
Improvenetwork interface controller structureVSAvoiddata packet handling efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The network interface controller is segmented into multiple independent DMA channels, each capable of handling different types of data packets independently. This segmentation allows each channel to be optimized for specific protocols (e.g., HTTP, CIFS, NFS) while maintaining overall system organization through a unified controller structure.

Inventive Principle:
Principle #1Segmentation

2Productivity

If interrupt coalescing is used to reduce processor interrupts for high throughput applications, then throughput improves, but latency increases for low latency applications

Engineering Contradiction:
Improvedata throughputVSAvoidpacket latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Different DMA channels are configured with different interrupt coalescing parameters according to their specific protocol requirements. HTTP traffic channels can use aggressive coalescing for high throughput, while CIFS/NFS channels can use minimal coalescing for low latency, allowing each protocol type to have locally optimized performance characteristics.

Inventive Principle:
Principle #3Local quality

3Device complexity

If a single device driver manages all DMA channels, then device complexity is reduced, but system complexity and performance bottlenecks increase in virtualized environments

Engineering Contradiction:
Improvedriver management structureVSAvoidnetwork processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The driver management structure is segmented into multiple independent device drivers, with each driver responsible for managing a specific DMA channel. This segmentation eliminates the performance bottleneck of a single monolithic driver and allows each driver to be independently optimized for its specific channel's protocol requirements.

Inventive Principle:
Principle #1Segmentation

4Productivity

If a network interface controller is optimized for high throughput protocols like HTTP, then throughput improves, but latency increases for protocols like CIFS

Engineering Contradiction:
Improvedata throughputVSAvoidacknowledgement latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Each DMA channel is configured with protocol-specific optimization parameters. HTTP channels are optimized for high throughput with larger interrupt coalescing thresholds, while CIFS channels are optimized for low latency with smaller coalescing thresholds and faster interrupt response, allowing each protocol type to achieve its optimal performance characteristics.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8984178B2Network devices with multiple direct memory access channels and methods thereof
Publication Date: 2015.03.17 F5 NETWORKS INC
  • US8984178B2 patent drawing
  • US8984178B2 patent drawing
  • US8984178B2 patent drawing

AI summary

A method, non-transitory computer readable medium, and a system for communicating with networked clients and servers through a network device includes receiving a first network data packet destined for a first executing traffic management application of a plurality of executing traffic management applications operating in the network device. A first DMA channel is identified to allocate the received first network data packet. Further, the first network data packet is transmitted to the first traffic management executing application over the first identified DMA channel.