Storage System Parameter Update via Segmented Shared Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High lock contention in storage systems leads to wasted processing resources, elevated context switching overhead, and low latency due to frequent suspension, especially when multiple compute entities intensely update shared storage resources, resulting in performance degradation.

Innovation Solution

Implement a method where each compute entity updates local counters in its private cache memory during monitoring periods and aggregates them into shared counters, using a set of independent shared counter fields that can be updated concurrently by multiple entities, reducing contention by locking only specific fields instead of entire counters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple compute entities update shared storage resources concurrently using traditional locks, then data consistency is maintained, but lock contention increases causing performance degradation

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the shared counter structure into multiple independent counter fields (e.g., counter0, counter1, counter2, counter3) that can be updated concurrently by different compute entities. Each compute entity is assigned specific counter fields to update, eliminating lock contention while maintaining data consistency through the segmented structure.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If compute entities frequently acquire and release locks for updating shared counters, then accurate statistics are maintained, but context switching overhead and processing resource waste increase

Engineering Contradiction:
Improvestatistics accuracyVSAvoidprocessing resource waste
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

By segmenting the counter into multiple independent fields, the patent eliminates the need for frequent lock acquisition and release. Compute entities can update their assigned counter fields without acquiring locks, thereby maintaining accurate statistics while eliminating the context switching overhead and processing resource waste associated with traditional locking mechanisms.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If compute entities update the same shared counter frequently, then real-time statistics are maintained, but suspension time increases due to lock waiting

Engineering Contradiction:
Improvereal-time statisticsVSAvoidsuspension time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the shared counter into multiple independent counter fields that can be updated simultaneously by different compute entities without mutual exclusion. This segmentation allows real-time statistics to be maintained while eliminating suspension time caused by lock waiting, as each compute entity can directly update its assigned counter field without being blocked by other entities.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11922013B2Contention-reduced update of storage system parameters
Publication Date: 2024.03.05 VAST DATA LTD
  • US11922013B2 patent drawing
  • US11922013B2 patent drawing
  • US11922013B2 patent drawing

AI summary

A method for contention reduced update of one or more storage system parameters, the method may include (i) concurrently monitoring the one or more storage system parameters (SSPs) by compute entities (CEs); wherein the concurrently monitoring comprises updating, by the CEs, local counters allocated to different SSPs; (ii) updating, by the CEs, sets of shared counter fields with values of the local counters, wherein different sets are allocated to different SSPs; wherein an updating of a set of a shared counter fields by an CE comprises selecting a shared counter field of the set by the CE; and (iii) calculating values of the different SSPs, wherein a calculating of a value of a SSP is based on at least one value of at least one shared counter field of a set that is allocated to the SSP.