Dynamic Data Structure Synchronization Strategy Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data access synchronization strategies in computing systems are inflexible and cannot adapt to changing workload characteristics, leading to potential data corruption and performance degradation due to the inability to dynamically switch between lock-based and lock-free strategies at runtime.

Innovation Solution

A method that monitors workload characteristics and dynamically switches between data access synchronization strategies by notifying threads to use both current and target strategies, ensuring all threads transition to the target strategy efficiently, using epoch counters to track access and determine when to switch.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fixed synchronization strategy is used, then implementation simplicity is maintained, but system performance degrades under changing workload conditions

Engineering Contradiction:
Improvesystem performanceVSAvoidsynchronization strategy management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic switching between lock-based and lock-free synchronization strategies based on real-time workload characteristics. The system monitors contention levels and automatically transitions between synchronization approaches, making the system adaptive rather than static. This resolves the contradiction by allowing performance optimization without permanent complexity overhead.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes synchronization parameters dynamically by switching between different synchronization modes (lock-based vs. lock-free) based on workload conditions. This parameter change enables the system to optimize performance for different access patterns while maintaining implementation simplicity through automated decision-making.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If lock-based synchronization is used, then data consistency is ensured, but operation efficiency decreases under high contention

Engineering Contradiction:
Improveoperation efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically selects between lock-based and lock-free strategies based on real-time contention monitoring. When contention is low, lock-free operations provide high efficiency; when contention increases, the system transitions to lock-based operations to ensure data consistency. This dynamic adaptation resolves the contradiction between efficiency and reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms by monitoring workload characteristics and contention levels, then using this information to switch synchronization strategies. This feedback loop ensures that the appropriate synchronization approach is selected based on actual system conditions, maintaining both efficiency and consistency.

Inventive Principle:
Principle #23Feedback

3Productivity

If lock-free synchronization is used, then operation efficiency is improved, but data corruption risk increases under high contention

Engineering Contradiction:
Improveoperation efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically adjusts the synchronization approach based on contention levels. Lock-free operations are used when contention is low to maximize efficiency, while the system transitions to lock-based operations when contention increases to prevent data corruption. This dynamic switching resolves the contradiction between efficiency and reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system monitors workload characteristics and uses this feedback to determine when to switch from lock-free to lock-based synchronization. This feedback mechanism ensures that data integrity is maintained by switching to safer synchronization methods when contention patterns indicate potential corruption risks.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If synchronization strategy switching is implemented, then adaptability to workload changes is improved, but system complexity increases

Engineering Contradiction:
Improveworkload adaptabilityVSAvoidsynchronization management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically monitoring workload characteristics and switching synchronization strategies without external intervention. This automation maintains high adaptability while managing complexity internally, as the system makes its own decisions about when to switch between lock-based and lock-free operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback from workload monitoring to automatically adjust synchronization strategies. This feedback-driven approach improves adaptability to changing conditions while managing complexity through automated decision-making rather than manual configuration or complex control logic.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10783009B2Systems and methods for dynamically switching synchronization strategies for accessing data structures
Publication Date: 2020.09.22 HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
  • US10783009B2 patent drawing
  • US10783009B2 patent drawing
  • US10783009B2 patent drawing

AI summary

Systems and methods for switching a data access synchronization strategy for a data structure are provided. Workload characteristics of one or more threads of execution access the data structure are monitored. A target data access synchronization strategy is determined. If the current strategy is different than the target strategy, the current strategy is switched to the target data access synchronization strategy for the data structure.