Write Acknowledgement Unit for Replication I/O Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In replication environments, applications face performance issues due to interlocking mechanisms that block read operations until write operations are complete, leading to wasted time and resources, especially in cluster environments where messaging overhead further degrades performance.

Innovation Solution

Implementing a method that determines the state of write operations and allows read operations to proceed by switching write acknowledgement modes without quiescing I/O operations, using a write acknowledgement unit to manage asynchronous and synchronous write acknowledgements and reset generation numbers, allowing read operations to occur without locking, thereby improving application performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If interlocking mechanisms block read operations until write operations are complete, then data consistency is maintained, but application performance deteriorates due to wasted time and computing resources

Engineering Contradiction:
Improvedata consistencyVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically switches between synchronous and asynchronous write acknowledgement modes based on operational conditions. In asynchronous mode, read operations can proceed without being blocked by write operations, improving performance. The system maintains data consistency through generation numbers and lock state tracking rather than through blocking mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of write acknowledgement mode between synchronous and asynchronous states. By switching to asynchronous mode with proper tracking of generation numbers and lock states, the system allows read operations to proceed without waiting for write completion, thereby improving application performance while maintaining data consistency through alternative mechanisms.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If synchronous write acknowledgement is used, then data consistency is ensured, but I/O throughput decreases due to blocking read operations

Engineering Contradiction:
Improvedata consistencyVSAvoidI/O throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts the write acknowledgement mode based on the state of write operations and read requests. When write operations are not ongoing, the system operates in asynchronous mode allowing reads to proceed freely, maximizing I/O throughput. The consistency mechanisms (generation numbers, lock state tracking) ensure data integrity is maintained without blocking operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameter from synchronous to asynchronous write acknowledgement, fundamentally altering how read and write operations interact. This parameter change eliminates the blocking behavior that limits I/O throughput while maintaining data consistency through generation number tracking and lock state monitoring.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If read operations are blocked during write operations, then stale data is avoided, but application performance suffers due to failed reads and resource waste

Engineering Contradiction:
Improvedata freshnessVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces generation numbers as an intermediary mechanism to track the state of write operations. Instead of blocking read operations, the system uses generation numbers to determine whether a read can safely proceed. This intermediary allows the system to avoid stale data without the performance penalty of blocking reads, as reads can check the generation number and proceed when appropriate.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables read operations to self-determine whether they can proceed by checking the lock state and generation numbers, rather than being passively blocked by the system. This self-service approach allows reads to efficiently check conditions and proceed when safe, avoiding the performance degradation associated with systematic blocking while still preventing stale data reads.

Inventive Principle:
Principle #25Self-service

4Reliability

If locking mechanisms are implemented to prevent stale data reads, then data consistency is maintained, but system complexity increases due to lock management overhead

Engineering Contradiction:
Improvedata consistencyVSAvoidlock management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the essential function of lock management by focusing on tracking the state of write operations through generation numbers and lock state flags, rather than implementing comprehensive locking mechanisms. This extraction simplifies the system by removing complex lock management overhead while retaining the ability to prevent stale data reads through generation number comparison and lock state checking.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes from complex lock management parameters to simpler generation number tracking and lock state flags. By monitoring whether a write operation is ongoing through these simplified parameters rather than managing detailed lock states, the system maintains data consistency with reduced complexity in lock management.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11099752B1Application performance in replication environments
Publication Date: 2021.08.24 COHESITY INC
  • US11099752B1 patent drawing
  • US11099752B1 patent drawing
  • US11099752B1 patent drawing

AI summary

Disclosed herein are methods, systems, and processes to improve application performance in replication environments. In one embodiment, first application input/output (I/O) throughput and second application I/O throughput are associated with a data volume and are both sampled, with the first application I/O throughput being sampled while the data volume is set to an asynchronous write acknowledgement mode and the second application I/O throughput being sampled while the data volume is set to a synchronous write acknowledgement mode. A determination is made as to whether the asynchronous write acknowledgement mode or the synchronous write acknowledgement mode provides a higher application I/O throughput for the data volume. The data volume is then set to a preferred write acknowledgement mode that is selected, based on a result of the determining, from the asynchronous write acknowledgement mode and the synchronous write acknowledgement mode, and in certain embodiments, a mixed write acknowledgement mode.