Dynamic Shared Write Buffer Selection to Reduce Lock Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face challenges in managing write requests efficiently, leading to latency issues due to lock contention and inefficient space utilization in shared write buffers.

Innovation Solution

A storage system that dynamically selects between shared and private write segments based on latency and load characteristics, using a decision-making process that considers the nature of the write stream, contention delay, and pending requests to optimize latency and space utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple compute entities write to a shared current segment simultaneously, then space utilization is improved, but lock contention increases causing latency

Engineering Contradiction:
Improvespace utilizationVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The write buffer is divided into multiple segments (first write segment and second write segment). When lock contention is detected on the current segment, the system switches to an alternative segment, allowing concurrent write operations to proceed without contention while maintaining space utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A segment selector acts as an intermediary that manages write operations by selecting appropriate segments. It monitors lock contention and redirects writes to alternative segments when needed, mediating between the compute entities and the shared buffer to reduce contention while maintaining efficient space usage.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a locking mechanism is used to manage shared write buffer access, then data consistency is improved, but lock contention delay increases

Engineering Contradiction:
Improvedata consistencyVSAvoidcontention delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The write buffer is segmented into multiple independent write segments. By distributing write operations across segments, the system reduces lock contention while maintaining data consistency within each segment. Compute entities can write to different segments concurrently without conflicting.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-allocates multiple write segments and maintains a segment selector that tracks which segment to use next. This preliminary organization allows write operations to proceed efficiently without acquiring locks, as each segment is pre-designated for specific write operations.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If write operations are acknowledged immediately, then latency is reduced, but data safety may be compromised

Engineering Contradiction:
ImprovelatencyVSAvoiddata safety
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The write buffer is divided into segments with dedicated ownership. When a compute entity is assigned ownership of a segment, it can immediately acknowledge write operations without waiting for locks, as it has exclusive access to that segment. This segmentation enables immediate acknowledgment while maintaining data safety through ownership tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The segment selector and compute entities work together in a self-service manner where the segment selector assigns segments to compute entities, and compute entities independently manage their assigned segments without requiring continuous lock management. This enables immediate acknowledgment while ensuring data safety through the ownership model.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12379875B1Writing data to a shared write buffer
Publication Date: 2025.08.05 VAST DATA LTD
  • US12379875B1 patent drawing
  • US12379875B1 patent drawing
  • US12379875B1 patent drawing

AI summary

A method for writing data to a shared write buffer, the method includes (i) receiving, by a processing circuit of a compute node of a storage system, a write request for writing to the shared write buffer an information unit associated with an accessing entity located outside the storage system; wherein the shared write buffer is stored in a non-volatile memory of a storage node of the storage system; the storage node is in communication with the compute node; (ii) determining, by the processing circuit whether to (a) store the information unit in a non-shared segment of the shared write buffer, or (b) store the information unit in a shared segment of the shared write buffer while applying a locking mechanism; wherein the determining is based on parameters, the parameters include a writing parameter of the accessing entity, a writing latency parameter associated with the accessing entity, and a locking timing parameter; and (iii) storing the information unit according to the determination.