Network Interface Controller Lock Offloading for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for inter-process communication over computer networks rely heavily on locks for synchronization, leading to significant overhead due to lock contention and the need for multiple attempts to acquire locks, especially in remote transactions, which burdens the CPU and incurs network latency.

Innovation Solution

Offloading the functions of checking and acquiring locks to a remote NIC, allowing for local or remote resident locks, thereby reducing network round trips and CPU effort, and enabling efficient lock management through atomic read-modify-write operations and immediate lock release mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locks are used for synchronization in inter-process communication over network, then resource access safety is ensured, but network latency and CPU overhead increase due to multiple lock acquisition attempts

Engineering Contradiction:
Improveresource access safetyVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the initiator NIC perform lock acquisition attempts and status checking before the CPU is involved. The NIC autonomously retries lock acquisition commands when locks are contended, eliminating the need for the CPU to wait for each lock acquisition result. This preliminary handling of lock contention at the NIC level reduces network latency while maintaining resource access safety through proper atomic operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service by enabling the NIC to autonomously manage lock acquisition without continuous CPU intervention. The NIC independently handles lock contention scenarios by retrying atomic read-modify-write operations, manages lock state tracking, and coordinates with the remote target NIC. This self-service capability reduces CPU overhead and allows the CPU to focus on productive work while the NIC handles synchronization protocol details.

Inventive Principle:
Principle #25Self-service

2Reliability

If locks are used for synchronization in inter-process communication over network, then resource access safety is ensured, but CPU overhead increases due to managing lock acquisition and contention

Engineering Contradiction:
Improveresource access safetyVSAvoidCPU overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts lock management functions from the CPU and relocates them to the NIC. Specifically, the NIC handles atomic read-modify-write operations for lock acquisition, tracks lock states, and manages retry logic for contended locks. This extraction of lock management responsibilities from the CPU reduces CPU overhead and energy consumption, while the NIC's dedicated hardware resources efficiently handle the synchronization protocol without impacting CPU performance for computational tasks.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If multiple attempts are made to acquire locks in remote transactions, then lock acquisition success rate improves, but network round trips and latency increase

Engineering Contradiction:
Improvelock acquisition success rateVSAvoidnetwork round trips
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple lock acquisition attempts into a single autonomous transaction handled by the NIC. Instead of the CPU initiating separate network round trips for each lock acquisition attempt, the NIC consolidates multiple retry attempts within a single transaction context. The NIC tracks the lock state and automatically retries atomic operations without requiring separate CPU interventions or additional network protocol handshakes, thereby reducing the effective number of network round trips while maintaining high lock acquisition success rates.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9699110B2Accelerating and offloading lock access over a network
Publication Date: 2017.07.04 MELLANOX TECHNOLOGIES LTD(IL)
  • US9699110B2 patent drawing
  • US9699110B2 patent drawing
  • US9699110B2 patent drawing

AI summary

Lock access is managed in a data network having an initiator node and a remote target by issuing a lock command from a first process to the remote target via an initiator network interface controller to establish a lock on a memory location, and prior to receiving a reply to the lock command communicating a data access request to the memory location from the initiator network interface controller. Prior to receiving a reply to the data access request, an unlock command issues from the initiator network interface controller. The target network interface controller determines the lock content, and when permitted by the lock accesses the memory location. After accessing the memory location the target network interface controller executes the unlock command. When the lock prevents data access, the lock operation is retried a configurable number of times until data access is allowed or a threshold is exceeded.