Block Allocation via Utilization Rate Feedback in Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed data storage systems face performance degradation due to high resource utilization, leading to inefficient block allocation and increased demands on data storage servers, which can result in over-utilization and resource degradation.

Innovation Solution

Implement a method to determine the utilization rate of replicated state machines by measuring resource metrics such as disk utilization, bandwidth, and processing power, and allocate new blocks to the state machine with the lowest utilization rate, using a consensus protocol to ensure efficient resource allocation and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If blocks are allocated to replicated state machines without considering utilization rate, then allocation speed is fast, but resource utilization becomes unbalanced and performance degrades

Engineering Contradiction:
Improveblock allocation speedVSAvoidresource utilization balance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback by continuously monitoring the utilization rate of each replicated state machine and using this information to dynamically adjust block allocation decisions. The utilization rate feedback loop ensures that blocks are allocated to state machines with lower utilization, preventing over-utilization and maintaining balanced resource distribution across the distributed storage system.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The block allocation strategy transitions from a static approach to a dynamic one by continuously adapting allocation decisions based on real-time utilization rates. The system dynamically identifies the replicated state machine with the lowest utilization rate at each allocation moment, allowing the allocation pattern to flex and adapt to changing system conditions, thereby maintaining optimal resource utilization.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If blocks are continuously allocated to high-utilization state machines, then allocation simplicity is maintained, but over-utilization occurs leading to performance degradation

Engineering Contradiction:
Improveallocation process simplicityVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system changes the allocation parameter from simple sequential or round-robin indexing to utilization-rate-based selection. By using the utilization rate as the key parameter for allocation decisions, the system maintains operational simplicity through a clear selection criterion (lowest utilization rate) while preventing over-utilization and performance degradation.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If utilization monitoring is implemented for all replicated state machines, then resource distribution is optimized, but system complexity increases

Engineering Contradiction:
Improveresource distribution optimizationVSAvoidmonitoring system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The utilization rate monitoring mechanism serves multiple functions simultaneously: it tracks resource usage for balanced allocation, provides metrics for performance analysis, and enables dynamic load distribution. This multi-functional approach optimizes resource distribution without proportionally increasing system complexity, as the same monitoring infrastructure supports multiple operational needs.

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

Data Source

PatentUS10469571B2Block allocation based on server utilization
Publication Date: 2019.11.05 AMAZON TECH INC
  • US10469571B2 patent drawing
  • US10469571B2 patent drawing
  • US10469571B2 patent drawing

AI summary

A computing resource service provider may operate a data storage service configured to provide data storage for one or more customers of the computing resource service provider. The data storage service may store customer data in one or more replicated state machines, where the replicated state machines comprise a plurality of replicated state machine-shards. The replicated state machine-shards may cause the computer system hosting the replicated state machine-shard to transmit a consensus message to other computer system. The consensus message may include utilization information corresponding to the other computer system. The utilization information may be used to calculate a utilization rate for the replicated state machine usable in block allocation operations.