Dynamic Multi-Streaming for Deduplicated Storage Resource Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In deduplicated file systems, parallel operations such as multi-streaming can lead to resource bottlenecks and system crashes due to high demands on shared resources, negatively impacting performance and reliability.

Innovation Solution

A dynamic and adaptive multi-streaming technique that monitors resource utilization and invokes multi-streaming only when resources are underutilized, using threshold maps to ensure optimal resource allocation and prevent bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If parallelism is used to speed up file operations in deduplicated file systems, then productivity is improved, but resource utilization becomes overutilized leading to resource crunch and system instability

Engineering Contradiction:
Improvefile operation speedVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts the degree of parallelism by monitoring resource utilization metrics and adapting the number of parallel threads accordingly. When resources are underutilized, more parallel threads are spawned to improve productivity; when resources approach capacity, parallelism is reduced to maintain system stability and prevent resource crunch.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements continuous feedback loops that monitor resource consumption during parallel file operations. Based on this feedback, the system automatically adjusts parallelism levels to maintain optimal performance without exceeding resource capacity, thereby resolving the contradiction between speed and stability.

Inventive Principle:
Principle #23Feedback

2Productivity

If multi-streaming is invoked to complete operations faster, then productivity is improved, but resource demands increase causing resource bottlenecks

Engineering Contradiction:
Improveoperation completion speedVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system changes operational parameters such as the number of concurrent streams and thread priority levels based on real-time resource conditions. By dynamically adjusting these parameters, the system optimizes operation completion speed while preventing resource bottlenecks through adaptive parameter modification.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If more parallel threads are used to process files, then productivity is improved, but overhead increases due to deduplication complexity

Engineering Contradiction:
Improveprocessing throughputVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system applies partial parallelism by spawning only the necessary number of parallel threads required to utilize available resources efficiently, rather than maximizing parallelism regardless of conditions. This reduces computational overhead from thread management while still achieving improved processing throughput through targeted parallel execution.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12373118B2Dynamic and adaptive multi-streaming in deduplication systems
Publication Date: 2025.07.29 DELL PROD LP
  • US12373118B2 patent drawing
  • US12373118B2 patent drawing
  • US12373118B2 patent drawing

AI summary

Resources of a deduplicated storage appliance are monitored to generate a consumption matrix indicating resource utilization. A threshold map associated with a subsystem is accessed. The subsystem is responsible for an operation involving files stored in the appliance. The threshold map specifies resources required by the subsystem for the operation and thresholds below which multi-streaming for the operation is allowed. An assessment is made as to whether the operation should be handled by multi-streaming. The assessment includes determining whether the resources are underutilized or overutilized based on the consumption matrix and the threshold map. When the resources are overutilized, multi-streaming is not triggered. When the resources are underutilized, multi-streaming is triggered. Periodic reassessments are made to determine whether the operation should be handled by multi-streaming.