Distributed Compute Node Storage Access Budgeting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant storage systems, there is a need to efficiently control IO requests and throughput across compute nodes accessing shared storage entities without wasting resources, ensuring that performance limits are not exceeded and minimum guarantees are met, while avoiding the bottlenecks and communication burdens associated with central orchestration.

Innovation Solution

Each compute node determines its current performance requirements, updates shared storage values independently, and calculates access budgets based on performance policies and limitations, allowing for efficient access to storage entities without requiring a central orchestrating entity or synchronization among nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a central orchestrating entity is used to control access performance, then performance limits can be enforced, but system complexity and communication overhead increase

Engineering Contradiction:
Improveperformance limit enforcementVSAvoidcentral orchestration structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each compute node independently determines its own performance requirements, updates shared storage values, and calculates access budgets without requiring a central orchestrating entity. The system uses self-service mechanisms where nodes autonomously manage their own access control while collectively maintaining performance limits through shared state visibility.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The central control function is segmented and distributed to individual compute nodes. Each node independently performs the control operations that would traditionally be centralized, dividing the monolithic control architecture into distributed autonomous units that collectively achieve the same performance guarantee.

Inventive Principle:
Principle #1Segmentation

2Reliability

If frequent synchronization is implemented among compute nodes, then performance limit compliance is improved, but communication overhead and processing time increase

Engineering Contradiction:
Improveperformance limit complianceVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Compute nodes determine their performance requirements and calculate access budgets in advance for each access cycle, before actual storage operations begin. This preliminary action allows nodes to pre-compute their budgets based on current system state, avoiding the need for frequent synchronization during active operations and reducing real-time communication overhead.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If performance control mechanisms are added to each compute node, then access control precision is improved, but device complexity and resource consumption increase

Engineering Contradiction:
Improveaccess control precisionVSAvoidcontrol mechanism complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The same compute nodes that perform storage operations also perform performance control functions. Each node's processor executes both data processing tasks and budget calculation/monitoring tasks, making the control mechanisms multi-functional rather than adding separate dedicated control hardware, thereby avoiding increased device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Productivity

If shared storage space is made accessible by all compute nodes, then resource utilization is improved, but access coordination complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidaccess coordination mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each compute node reads the shared storage value that reflects total performance requirements from all nodes, uses this feedback information to calculate its own budget, and updates the shared storage with its contribution. This feedback loop enables automatic coordination without complex centralized control, as each node adjusts its behavior based on the aggregate state visible in shared storage.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11934828B1Performance management for accessing stored entities by multiple compute nodes of a storage system
Publication Date: 2024.03.19 VAST DATA LTD
  • US11934828B1 patent drawing
  • US11934828B1 patent drawing
  • US11934828B1 patent drawing

AI summary

A method for accessing stored entities (SEs) that are stored in a storage unit of a storage system, the method may include determining in a cyclic manner, by each compute node (CN) of a group of compute nodes, CN SEs budgets to be used in a cycle, based on a shared storage space that stores performance requests of Ces of the group.