IO Sizing Throttling for Backup Server Concurrency Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Backup servers face contention and performance issues due to high concurrency of operations, leading to potential hangs or timeouts, especially in busy environments where processor resources are overloaded, causing IO bottlenecks and starvation.

Innovation Solution

Implementing IO sizing throttling to classify and prioritize backup operations based on their IO requirements, allowing the backup server to manage concurrent operations within the available IOPS limits of the underlying infrastructure, thereby preventing system unresponsiveness and ensuring smooth operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If high concurrency of backup operations is allowed, then productivity is improved, but system reliability deteriorates due to contention and timeouts

Engineering Contradiction:
Improvebackup operation throughputVSAvoidoperation completion success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically changes the concurrency parameter by adjusting the number of allowed parallel backup operations based on current system load and IO capacity. When IO bottlenecks are detected, the system reduces the concurrency level to prevent timeouts, while allowing higher concurrency when resources are available, thus resolving the contradiction between productivity and reliability

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback mechanisms by monitoring backup operation performance metrics such as completion status, timeout occurrences, and IO wait times. This feedback is used to dynamically adjust the concurrency control policy, reducing operations when timeouts occur and increasing them when operations complete successfully, thereby maintaining both high productivity and reliability

Inventive Principle:
Principle #23Feedback

2Productivity

If more concurrent operations are permitted, then productivity increases, but device complexity increases due to contentions on shared resources

Engineering Contradiction:
Improvebackup operation throughputVSAvoidresource contention management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary component that acts as a gatekeeper for backup operations. This intermediary monitors resource availability and mediates access to shared catalog database resources, controlling the flow of concurrent operations to avoid direct contention. By inserting this intermediary layer, the system can maintain high productivity while simplifying the management of resource contentions

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments backup operations into different priority levels and categories (e.g., catalog maintenance vs. actual backups). By segmenting operations, the system can manage them in organized batches with controlled concurrency for each segment, reducing the overall complexity of managing all operations simultaneously while maintaining high throughput

Inventive Principle:
Principle #1Segmentation

3Productivity

If IO operations are increased to handle more backups, then productivity improves, but loss of time increases due to IO bottlenecks and starvation

Engineering Contradiction:
Improvebackup completion rateVSAvoidoperation wait time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements periodic action by batching backup operations and processing them in controlled intervals rather than continuously. This periodic approach allows the system to accumulate multiple backup requests and execute them in organized waves, ensuring that IO resources are utilized efficiently without causing starvation, thereby improving productivity while minimizing wait time losses

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9798584B1Methods and apparatus for IO sizing based task throttling
Publication Date: 2017.10.24 EMC IP HLDG CO LLC
  • US9798584B1 patent drawing
  • US9798584B1 patent drawing
  • US9798584B1 patent drawing

AI summary

Methods and apparatuses select service tasks according to allocations of an available usage rate of a common processing resource are described. An ordering relationship is updated among the service tasks. E service task can have a rate of usage of the common processing resource. Each service may be associated with one of multiple task types. An allocation of the available rate of usage may be determined among the task types. The allocation can indicate a portion of the available rate of usage for each task type. The service tasks may be selected according to the allocation and the ordering relationship. At least one of the selected service tasks is associated with each task type associated with the service tasks.