Processor Memory Alias Bypass for Image Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor technologies face performance degradation when handling large amounts of image data due to memory dependency issues, particularly with unpredictable memory operations like pointer variables, leading to inefficient scheduling and potential incorrect results during image processing.

Innovation Solution

The method involves reading data from memory using a vector-gather method, confirming and masking items with the same memory address, generating a correction value, and storing results using a vector-scatter method, while bypassing memory address alias checking to adjust compiler scheduling, thereby optimizing parallel processing of data such as weighted histograms without a separate hardware accelerator.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory address alias checking is performed to ensure data correctness, then reliability is improved, but processing speed deteriorates due to conservative compiler scheduling

Engineering Contradiction:
Improvedata correctnessVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the memory address alias checking operation from the normal compilation and execution flow, separating it into a distinct analysis phase. By pre-identifying and removing alias checking requirements before code generation, the compiler can produce aggressive optimized code without the overhead of runtime alias checks, thus resolving the contradiction between reliability and processing speed

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs memory address alias analysis as a preliminary action before code generation and compilation. By analyzing and resolving potential alias conflicts in advance, the system eliminates the need for conservative scheduling during actual execution, allowing both reliable data handling and high processing speed to coexist

Inventive Principle:
Principle #10Preliminary action

2Reliability

If conservative scheduling is used to handle memory dependency, then reliability is improved, but productivity deteriorates due to degraded compiler performance

Engineering Contradiction:
Improvememory dependency handlingVSAvoidcompiler performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts memory dependency analysis from the main compilation loop, performing it as a separate preliminary pass. This allows the compiler to make informed scheduling decisions based on pre-analyzed dependency information rather than using conservative defaults, improving both reliability and productivity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

By performing memory dependency analysis as a preliminary action before code generation, the system obtains accurate dependency information in advance. This enables the compiler to generate optimized code with aggressive scheduling without risking correctness, thus improving compiler performance while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

3Reliability

If pointer variable scheduling is performed with memory dependency consideration, then reliability is improved, but processing speed deteriorates due to unpredictable memory operations

Engineering Contradiction:
Improvepointer variable handlingVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts pointer variable alias analysis from the general memory dependency checking, treating it as a special case that can be analyzed and resolved separately. By identifying pointer alias relationships in advance through static analysis, the system can schedule pointer operations aggressively without runtime checks, improving processing speed while maintaining reliability

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10013176B2Method and apparatus for parallel processing data including bypassing memory address alias checking
Publication Date: 2018.07.03 SAMSUNG ELECTRONICS CO LTD
  • US10013176B2 patent drawing
  • US10013176B2 patent drawing
  • US10013176B2 patent drawing

AI summary

Methods and apparatuses for parallel processing data are disclosed. One method includes reading items of data from a memory using at least memory access address, confirming items of data with the same memory address among the read items of data, and masking the confirmed items of data other than one of the confirmed items of data. A correction value is generated for the memory access address using the confirmed items of data, and an operation is performed on data that has not been masked using the confirmed items of data and the correction value. Data obtained by operating on the data that has not been masked is stored as at least on representative data item for the data items with the same memory address. A schedule of a compiler of a processor is adjusted by performing bypassing of memory access address alias checking for at least one memory access address.