Network Protocol Resource Allocation via Parallel Accelerator Offloading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In clustered storage systems, network interface operations consume substantial processing resources, leading to bottlenecks, particularly due to shared system bus and memory constraints, which degrade performance when requests need to be redirected between nodes.

Innovation Solution

Offloading network interface operations to a parallel processing accelerator module that performs these operations on a 'network side' of the system bus, reducing the load on the processor and memory, and allocating dedicated resources for connections to avoid deadlocks and optimize resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If network interface operations are performed on the main processor, then protocol processing capability is improved, but system bus bottleneck and processing throughput deteriorate

Engineering Contradiction:
Improveprotocol processing capabilityVSAvoidprocessing throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments processing functions by separating network interface operations from main processor tasks. The accelerator card handles network protocol processing independently, while the main processor focuses on storage operations, eliminating the bus bottleneck caused by centralized processor handling of all protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An accelerator card serves as an intermediary device between the network interface and the main processor. It receives network packets, performs protocol processing, and forwards results to the main processor, reducing the main processor's burden and eliminating bus contention.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If network interface operations share system bus and memory resources, then device complexity is reduced, but performance and resource availability deteriorate

Engineering Contradiction:
Improvesystem architecture simplicityVSAvoidnetwork operation performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system divides memory resources into separate namespaces: accelerator card memory for network operations and main system memory for storage operations. This segmentation allows parallel access without contention, maintaining architectural simplicity while improving performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The accelerator card acts as an intermediary with its own dedicated memory space, reducing requests to the main system bus and memory. Only essential data transfers use the shared bus, minimizing contention while maintaining system simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If requests are redirected between cluster nodes through the main processor, then network flexibility is improved, but system bus load and processing time deteriorate

Engineering Contradiction:
Improverequest routing flexibilityVSAvoidrequest processing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The accelerator card performs preliminary processing of network requests, including protocol parsing and destination determination, before forwarding to the main processor. This preliminary action reduces the main processor's workload and accelerates request handling across cluster nodes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The accelerator card serves as an intermediary that handles request redirection between cluster nodes without requiring main processor intervention for each redirect. It maintains routing flexibility while reducing processing time by handling redirects in hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8090832B1Method and apparatus for allocating network protocol operation resources
Publication Date: 2012.01.03 NETAPP INC
  • US8090832B1 patent drawing
  • US8090832B1 patent drawing
  • US8090832B1 patent drawing

AI summary

A system and method for offloading network processes from main processors of a storage system and performing them on parallel processing modules. Embodiments of the present invention allocate resources such as memory and/or buffers to particular connections between various storage operating system processes or between storage operating system processes and a network interface. Connections are identified by a connection identifier (CID) and are assigned particular buffers according to parameters such as buffer availability, connection priority, and/or maximum allocation thresholds. A connection associated with a CID is guaranteed access to a certain number of dedicated buffers. Deadlock is avoided even when an operating system process associated with a different CID attempts to exhaust available memory and/or buffers because such processes will only have access to their own allocated resources.