Atomic Merge-Update for Concurrent Memory Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Concurrent computer systems face issues with race conditions and memory inconsistencies due to simultaneous updates by multiple processes, leading to corrupted data structures and inefficiencies such as deadlock, priority inversion, and high memory overhead.

Innovation Solution

The implementation of an atomic merge-update operation using structured memory, where each thread maintains a copy of the original data structure, performs updates, and merges logically consistent changes through a compare-and-swap operation, ensuring predictable memory states even in the presence of conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If lock-based solutions are used to prevent race conditions, then memory consistency is improved, but system overhead and operational efficiency deteriorate due to deadlock, priority inversion, and queuing

Engineering Contradiction:
Improvememory consistencyVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the critical section protection mechanism from traditional lock-based synchronization by using atomic compare-and-swap instructions. Instead of requiring process context switches and queue management associated with locks, the invention uses hardware-supported atomic memory operations that can be executed without blocking other processes, thereby removing the overhead of deadlock handling, priority inversion, and queuing while maintaining memory consistency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical lock-based synchronization system with an atomic memory operation system. Instead of using physical or logical locks that require process suspension and resumption, the invention uses atomic test-and-set and compare-and-swap instructions that operate at the hardware level, substituting the complex mechanical locking mechanism with simpler atomic memory operations that do not block other processes

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If non-blocking synchronization or hardware transactional memory is used to avoid locking overhead, then operational efficiency is improved, but memory overhead increases

Engineering Contradiction:
Improveoperational efficiencyVSAvoidmemory overhead
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies partial action by using atomic compare-and-swap operations only when necessary for conflict resolution, rather than maintaining full copies of data structures for all processes. The merge-update operation selectively merges changes only from processes that have actually modified the data, reducing memory overhead while maintaining operational efficiency through targeted atomic operations

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If multiple processes update the same memory locations simultaneously without coordination, then processing speed is improved, but data structure integrity deteriorates due to race conditions

Engineering Contradiction:
Improveprocessing speedVSAvoiddata structure integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by having each process create a complete copy of the data structure before making modifications. This preliminary copying ensures that each process works with a consistent baseline version, allowing simultaneous updates without race conditions. The atomic merge-update operation then integrates these pre-prepared changes, maintaining data structure integrity while preserving processing speed

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary merge-update operation that mediates between multiple concurrent processes. Instead of processes directly competing for access to shared memory locations, each process updates its own copy and then uses the atomic merge-update operation as an intermediary to integrate changes. This intermediary mechanism preserves processing speed by allowing parallel updates while ensuring data structure integrity through atomic merging

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9047334B1Merge-update for efficient atomic memory modification in concurrent computer systems
Publication Date: 2015.06.02 INTEL CORP
  • US9047334B1 patent drawing
  • US9047334B1 patent drawing
  • US9047334B1 patent drawing

AI summary

Atomically updating an in-memory data structure that is directly accessible by a processor includes comparing old information associated with an old version of the in-memory data structure with current information associated with a current version of the in-memory data structure; in the event that the old information and the current information are the same, replacing the old version with a new version of the in-memory data structure; in the event that the old information and the current information are not the same, determining a difference between the current version of the in-memory data structure and the new version of the in-memory data structure, and determining whether the difference is logically consistent; and in the event that the difference is logically consistent, merging a change in the current version with the new version.