Atomicity Detector Circuitry for Deterministic Record Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing deterministic record/replay in multi-processor environments is inefficient due to the need to record every instruction, which leads to impractical amounts of data and alters concurrency behavior, making it difficult to accurately reflect real-time program execution.

Innovation Solution

The system detects atomicity terminating events to establish incidentally atomic sequences of instruction units, which are then recorded and replayed, using cache domains, coherency networks, and atomicity detector/recorder circuitry to facilitate atomic execution detection and recording.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If every single instruction is recorded for deterministic replay, then complete execution accuracy is achieved, but the amount of data to be recorded becomes impractically large

Engineering Contradiction:
Improveexecution accuracyVSAvoiddata volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts and records only the essential information needed for deterministic replay - specifically atomicity terminating events and their associated instruction ranges - rather than recording every single instruction. This selective extraction maintains execution accuracy while dramatically reducing the volume of recorded data.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The execution stream is segmented into atomicity-bounded ranges delimited by atomicity terminating events. Each segment represents a logically atomic unit of execution that can be independently recorded and replayed, reducing the overall recording burden while preserving deterministic behavior.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a global lock is used to limit thread execution to a predetermined number of instructions, then recording overhead is reduced, but concurrency behavior is altered and no longer reflects real runtime behavior

Engineering Contradiction:
Improverecording efficiencyVSAvoidconcurrency accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces atomicity terminating events as intermediaries that naturally delimit atomic execution boundaries without requiring external intervention. These events emerge from the system's own execution dynamics, allowing the recorder to capture genuine concurrency behavior while maintaining manageable recording overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses its own atomicity mechanisms - specifically cache coherency protocols and atomicity terminating events that naturally arise during execution - to provide the delimitation information needed for recording. This self-service approach eliminates the need for external global locks while preserving accurate concurrency behavior.

Inventive Principle:
Principle #25Self-service

3Device complexity

If processors are serialized by the recorder with fixed instruction limits, then recording complexity is reduced, but access to shared memory structures becomes inefficient and non-deterministic

Engineering Contradiction:
Improverecorder complexityVSAvoidmemory access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent replaces fixed, static instruction limits with dynamic atomicity-bounded ranges that adapt to the actual execution characteristics of each thread. The recording boundaries are determined by runtime atomicity terminating events rather than predetermined constants, allowing efficient memory access patterns to be preserved while maintaining manageable recorder complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10671400B2Enhanced managed runtime environments that support deterministic record and replay
Publication Date: 2020.06.02 AZUL SYSTEMS INC
  • US10671400B2 patent drawing
  • US10671400B2 patent drawing
  • US10671400B2 patent drawing

AI summary

A system includes a processor configured to: initiate atomic execution of a plurality of instruction units in a thread, starting with a beginning instruction unit in the plurality of instruction units, wherein the plurality of instruction units in the thread are not programmatically specified to be executed atomically, and wherein the plurality of instruction units includes one or more memory modification instructions; in response to executing an instruction to commit inserted into the plurality of instructions units, incrementally commit a portion of the one or more memory modification instructions that have been atomically executed so far; and subsequent to incrementally committing the portion of the memory modification instructions that have been atomically executed so far, continue atomic execution of the plurality of instruction units. The system further includes a memory coupled to the processor, configured to provide the processor with the plurality of instruction units.