Processor Relaxed Synchronization Mode for Shared Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors face performance and power consumption issues due to the overhead of memory access synchronization instructions, which are necessary to ensure proper memory access ordering but can limit out-of-order execution and increase power usage, especially in systems with weak memory ordering models.

Innovation Solution

Implementing a relaxed synchronization mode in processors that selectively ignores or converts memory access synchronization instructions into non-synchronization instructions, allowing for reordering of instructions and reducing power consumption when only one logical processor accesses shared memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory access synchronization instructions are used to ensure proper memory access ordering, then memory access correctness is improved, but processor performance and power consumption deteriorate due to overhead and limited out-of-order execution

Engineering Contradiction:
Improvememory access correctnessVSAvoidprocessor performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The processor dynamically switches between strong and relaxed memory ordering modes based on runtime conditions. The memory ordering mode is determined by checking whether multiple logical processors are actively accessing shared memory, allowing the system to adapt its synchronization behavior to current workload characteristics rather than always enforcing strict ordering

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the memory ordering parameter (from strong to relaxed) based on the number of active logical processors accessing shared memory. When only one logical processor is accessing shared memory, the processor operates in relaxed mode with minimal synchronization overhead; when multiple logical processors are accessing shared memory, it switches to strong mode to ensure correctness

Inventive Principle:
Principle #35Parameter changes

2Reliability

If memory access synchronization instructions are used to ensure proper memory access ordering, then memory access correctness is improved, but power consumption increases due to the overhead of synchronization operations

Engineering Contradiction:
Improvememory access correctnessVSAvoidprocessor power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The processor dynamically adjusts its power consumption by switching between strong and relaxed memory ordering modes. The mode selection is based on runtime detection of multiple logical processor activity, allowing the system to minimize power consumption during single-processor workloads while maintaining correctness during multi-processor operations

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the memory ordering parameter based on the number of active logical processors. In relaxed mode (single processor), synchronization instructions are minimized or eliminated, reducing power consumption. In strong mode (multiple processors), full synchronization is enforced to ensure correctness

Inventive Principle:
Principle #35Parameter changes

3Reliability

If strong memory ordering is enforced to ensure correct synchronization, then memory access correctness is improved, but out-of-order execution capability deteriorates due to synchronization overhead

Engineering Contradiction:
Improvememory access orderingVSAvoidexecution control complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The processor dynamically adjusts its execution control complexity by switching between strong and relaxed memory ordering modes. The mode is determined by monitoring logical processor activity on shared memory, allowing the system to simplify execution control when possible while maintaining proper ordering when required

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10235175B2Processors, methods, and systems to relax synchronization of accesses to shared memory
Publication Date: 2019.03.19 INTEL CORP
  • US10235175B2 patent drawing
  • US10235175B2 patent drawing
  • US10235175B2 patent drawing

AI summary

A processor of an aspect includes a plurality of logical processors. A first logical processor of the plurality is to execute software that includes a memory access synchronization instruction that is to synchronize accesses to a memory. The processor also includes memory access synchronization relaxation logic that is to prevent the memory access synchronization instruction from synchronizing accesses to the memory when the processor is in a relaxed memory access synchronization mode.