Parallel Memory Conflict Detection via Distinguished Address Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current parallel processing systems face complexity and inefficiency due to inter-thread memory conflicts, which are difficult to detect and manage, especially as dataset sizes increase, leading to potential deadlocks and performance bottlenecks.

Innovation Solution

The method involves creating a composite access record based only on distinguished memory operations, ignoring non-distinguished operations to minimize address aliasing, and using a hash table to generate wider descriptors for reduced aliasing, allowing for efficient detection of potential conflicts and preventing deadlocks by aborting parallel thread execution or executing them sequentially.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If all memory access addresses are recorded and compared for conflict detection, then conflict detection accuracy is improved, but hardware complexity and processing overhead increase significantly

Engineering Contradiction:
Improveconflict detection accuracyVSAvoidhardware complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments memory access addresses into two categories: distinguished memory accesses (which require conflict detection) and non-distinguished memory accesses (which are ignored). This segmentation is implemented through specific instruction types (e.g., atomic operations, memory-fence instructions) that mark certain accesses as distinguished. By only tracking and comparing distinguished accesses, the system maintains conflict detection accuracy for critical operations while significantly reducing hardware complexity and processing overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary subset of memory access information (distinguished accesses) from the complete set of all memory accesses. Instead of recording every memory address access, the system selectively extracts and records only those accesses that are marked as distinguished through specific instruction types. This extraction approach maintains sufficient conflict detection capability while eliminating the overhead of tracking unnecessary accesses.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If dataset size is increased to improve processing capacity, then productivity is improved, but the likelihood of memory conflicts and address aliasing increases

Engineering Contradiction:
Improveprocessing capacityVSAvoidmemory conflict frequency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the set of tracked memory accesses based on their distinction status, separating distinguished accesses (requiring conflict detection) from non-distinguished accesses (ignored). This segmentation allows the system to handle larger datasets by selectively applying conflict detection only where necessary, thereby maintaining reliability even as overall dataset size and processing capacity increase.

Inventive Principle:
Principle #1Segmentation

3Productivity

If parallel thread execution is implemented to improve performance, then productivity is improved, but the complexity of managing and detecting inter-thread conflicts increases

Engineering Contradiction:
Improveparallel processing performanceVSAvoidconflict management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments memory access tracking by thread and by distinction status, creating a manageable framework for parallel processing. Each parallel thread maintains its own set of distinguished accesses, and conflict detection is performed by comparing only these segmented sets. This segmentation approach enables efficient parallel processing while keeping conflict management complexity tractable through selective comparison of distinguished accesses only.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the essential conflict-relevant information (distinguished memory accesses) from the complete set of thread memory operations. By extracting and tracking only distinguished accesses rather than all accesses, the system reduces the complexity of inter-thread conflict management while maintaining sufficient information for accurate conflict detection in parallel processing scenarios.

Inventive Principle:
Principle #2Taking out (Extraction)

4Measurement precision

If address aliasing is reduced by using wider descriptors, then conflict detection accuracy is improved, but the memory and processing resources required increase

Engineering Contradiction:
Improveaddress aliasing reductionVSAvoidmemory resources
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the application of wide descriptors to only distinguished memory accesses rather than all memory accesses. This segmentation allows the system to use wider, more precise descriptors where conflict detection is critical (for distinguished accesses) while using standard descriptors for non-distinguished accesses, thereby reducing overall memory resource requirements while maintaining address aliasing reduction benefits where needed.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10402201B2Method and apparatus for detecting memory conflicts using distinguished memory addresses
Publication Date: 2019.09.03 MARVELL ASIA PTE LTD
  • US10402201B2 patent drawing
  • US10402201B2 patent drawing
  • US10402201B2 patent drawing

AI summary

A method and apparatus for detecting potential memory conflicts in a parallel computing environment by executing two parallel program threads. The parallel program threads include special operands that are used by a processing core to identify memory addresses that have the potential for conflict. These memory addresses are combined into a composite access record for each thread. The composite access records are compared to each other in order to detect a potential memory conflict.