Offload Network Adapter Memory Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-speed networks, host processors are burdened with TCP/IP protocol processing, reassembling out-of-order data packets, and resource-intensive memory copies, leading to reduced application performance due to increased network link speeds outpacing microprocessor growth, necessitating offloading of processing to network adapters but still requiring significant host system involvement for connection establishment, memory management, and data handling.

Innovation Solution

The development of an offload network adapter that offloads connection establishment, state information maintenance, memory management, and data processing, allowing for bulk notifications, zero-copy data transfers, and delayed notifications to minimize host system interaction, enabling efficient data handling and reduced processor load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If TCP/IP protocol processing is offloaded to the network adapter, then processor load is reduced and application performance is improved, but the network adapter requires sophisticated memory management and connection state maintenance capabilities that increase device complexity

Engineering Contradiction:
Improveapplication performanceVSAvoidnetwork adapter complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The network adapter functionality is segmented into distinct modules: connection management unit for establishing/maintaining connections, memory management unit for buffer allocation, and data processing unit for protocol handling. This segmentation allows each module to operate independently with specialized memory regions, reducing overall complexity while maintaining high performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A sophisticated buffer management mechanism acts as an intermediary between the host memory and network adapter memory. This buffer manager handles memory allocation, buffer pool management, and data transfer coordination, abstracting the complexity from the main processing logic and enabling efficient resource sharing between host and adapter.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If connection establishment and state information maintenance are performed in the host system, then memory management remains simple, but processor load increases and communication overhead between host and adapter increases

Engineering Contradiction:
Improvememory management complexityVSAvoidprocessor load
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Connection establishment and state information maintenance functions are extracted from the host system and implemented within the network adapter. The adapter maintains connection state information locally in dedicated memory regions, eliminating the need for continuous host-adapter communication for routine connection management while reducing host processor load.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Connection state information is copied and replicated in both host memory and network adapter memory. This duplication allows each system to maintain its own copy of connection states independently, enabling parallel processing and reducing communication overhead while maintaining consistency through periodic synchronization.

Inventive Principle:
Principle #26Copying

3Device complexity

If data packets are processed at the host processor, then memory management is simplified, but the host processor becomes burdened with resource-intensive memory copies and protocol processing

Engineering Contradiction:
Improvememory management complexityVSAvoiddata packet processing rate
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The data processing architecture transitions from a single-host dimension to a distributed dimension involving both host and network adapter. Memory copies are performed in parallel across multiple memory regions (host memory, adapter memory, buffer memory) using direct memory access, effectively adding spatial dimension to the processing pipeline and increasing overall data throughput.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The network adapter continuously processes data packets through protocol handling and buffer management without requiring periodic intervention from the host processor. This continuous operation at the adapter level maintains steady data flow and processing throughput, eliminating the interrupt-driven bottleneck that limits host-processed systems.

Inventive Principle:
Principle #20Continuity of useful action

4Loss of time

If bulk notifications are implemented to reduce communication between host and adapter, then communication overhead is reduced, but the system requires sophisticated notification mechanisms that increase device complexity

Engineering Contradiction:
Improvecommunication timeVSAvoidnotification mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Multiple individual notifications are merged into a single bulk notification mechanism. The network adapter aggregates connection establishment events, data receipt notifications, and error conditions into consolidated notification packets that are transmitted to the host in batches, reducing the total number of communication transactions while maintaining timely information delivery.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Notification buffers and message queues are pre-allocated and prepared in advance within the network adapter memory. This preliminary setup allows the adapter to immediately generate and transmit bulk notifications without requiring dynamic memory allocation or complex on-demand notification processing, reducing communication latency while simplifying the notification mechanism.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7930422B2Apparatus and method for supporting memory management in an offload of network protocol processing
Publication Date: 2011.04.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7930422B2 patent drawing
  • US7930422B2 patent drawing
  • US7930422B2 patent drawing

AI summary

A number of improvements in network adapters that offload protocol processing from the host processor are provided. Specifically, mechanisms for handling memory management and optimization within a system utilizing an offload network adapter are provided. The memory management mechanism permits both buffered sending and receiving of data as well as zero-copy sending and receiving of data. In addition, the memory management mechanism permits grouping of DMA buffers that can be shared among specified connections based on any number of attributes. The memory management mechanism further permits partial send and receive buffer operation, delaying of DMA requests so that they may be communicated to the host system in bulk, and expedited transfer of data to the host system.