Fair-Share Resource Utilization in Cross-Region Replication Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current file system replication methods face challenges with unbalanced resource utilization and bottlenecks during cross-region replication, leading to inefficiencies in data availability and fault tolerance.

Innovation Solution

A fair-share resource utilization architecture is implemented, using a linked list of queues to distribute replication jobs evenly across parallel threads, ensuring each job uses a substantially equal amount of resources, and dynamically allocating resources to maintain optimal performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional file system replication methods are used, then replication can be performed, but unbalanced resource utilization and bottlenecks occur

Engineering Contradiction:
Improvereplication efficiencyVSAvoidresource utilization balance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The replication pipeline is divided into multiple stages (data read stage, data compression stage, data encryption stage, data transmission stage, data decompression stage, data decryption stage) with each stage having its own thread pool. This segmentation allows independent optimization and resource allocation for each stage, preventing bottlenecks in any single stage from affecting the entire replication process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the number of threads in each pipeline stage's thread pool based on the actual workload and resource availability. This dynamic adaptation ensures that resources are allocated efficiently across different stages, maintaining balanced resource utilization while maximizing replication throughput.

Inventive Principle:
Principle #15Dynamics

2Productivity

If more parallel threads are used to increase replication speed, then productivity improves, but resource contention and bottlenecks increase

Engineering Contradiction:
Improvereplication throughputVSAvoidthread pool management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Instead of using a single large thread pool that manages all replication tasks, the system segments the thread pools by pipeline stage. Each stage has its own dedicated thread pool, which simplifies the management of parallel threads by localizing control and reducing the complexity of coordinating across all threads simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary components including a job queue that manages task distribution across thread pools, and a data buffer that mediates data flow between stages. These intermediaries absorb the complexity of thread coordination, allowing each thread pool to operate independently while maintaining overall system coherence.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If resources are allocated to maximize replication speed, then productivity increases, but fair-share resource utilization decreases

Engineering Contradiction:
Improvereplication speedVSAvoidfair-share resource utilization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system applies different resource allocation strategies to different pipeline stages based on their specific characteristics and requirements. Each stage can have customized thread pool sizes and resource priorities, allowing the system to optimize for both speed and fairness locally at each stage while maintaining overall balanced resource utilization.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The thread pool configurations are dynamically adjustable based on system conditions and replication requirements. This allows the system to adapt resource allocation to achieve fair-share utilization across multiple replication operations while maintaining high productivity for each individual replication task.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12147394B2Techniques for resource utilization in replication pipeline processing
Publication Date: 2024.11.19 ORACLE INT CORP
  • US12147394B2 patent drawing
  • US12147394B2 patent drawing
  • US12147394B2 patent drawing

AI summary

Techniques are described for ensuring end-to-end fair-share resource utilization during cross-region replication. In certain embodiments, a fair-share architecture is used for communication among pipeline stages performing a cross-region replication between different cloud infrastructure regions. Cross-region replication-related jobs are distributed evenly from a pipeline stage into a temporary buffer in the fair-share architecture, and then further distributed evenly form the fair-share architecture to parallel running threads of next pipeline stage for execute. Techniques for static and dynamic resource allocations are also disclosed.