Emulating Firm Memory Consistency in Weak Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In environments with weak memory consistency, ensuring memory consistency is challenging without hardware support, leading to performance degradation due to the need for explicit synchronization instructions.

Innovation Solution

A method to emulate a firm memory consistency model in a processor with a weak memory consistency model using software-based locking mechanisms and existing architected features, avoiding the need for serialization instructions and special hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If explicit synchronization instructions are used to force memory consistency in a weak memory consistency environment, then memory consistency is ensured, but system performance seriously degrades

Engineering Contradiction:
Improvememory consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces an intermediary mechanism (memory consistency enforcement logic) that mediates between the weak memory consistency model of the hardware and the firm memory consistency requirements of the emulated architecture. This intermediary translates memory access operations and enforces consistency without requiring explicit synchronization instructions from the software, thereby maintaining both consistency and performance

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a virtual copy of the firm memory consistency model through software emulation. By implementing a virtual memory system that mimics the behavior of hardware-enforced firm consistency, the system provides consistent memory access semantics without relying on the underlying weak consistency hardware or requiring performance-degrading synchronization instructions

Inventive Principle:
Principle #26Copying

2Reliability

If hardware is used to provide firm memory consistency, then memory consistency is efficiently maintained, but hardware availability is limited

Engineering Contradiction:
Improvememory consistencyVSAvoidhardware availability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent replaces the mechanical/hardware memory consistency enforcement mechanism with a software-based solution. By implementing consistency enforcement in the virtual machine monitor or operating system, the invention makes firm memory consistency available on general-purpose processors without requiring specialized hardware support, thereby greatly enhancing adaptability and versatility

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

3Reliability

If a processor with weak memory consistency emulates a firm memory consistency model, then firm memory consistency is achieved, but overhead increases without efficient mechanisms

Engineering Contradiction:
Improvefirm memory consistencyVSAvoidoverhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-establishing memory access rules and consistency enforcement mechanisms in the virtual machine monitor. By preparing and caching translation lookaside buffer (TLB) entries and pre-determining memory access semantics, the system reduces the overhead of enforcing firm consistency during actual execution, allowing memory accesses to proceed efficiently without repeated synchronization operations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2142993B1Providing memory consistency in an emulated processing environment
Publication Date: 2012.12.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2142993B1 patent drawingFigure 1~2
  • EP2142993B1 patent drawingFigure 3
  • EP2142993B1 patent drawingFigure 4A~4B

AI summary

Memory consistency is provided in an emulated processing environment. A processor architected with a weak memory consistency emulates an architecture having a firm memory consistency. This memory consistency is provided without requiring serialization instructions or special hardware.