Deterministic Replay for Multicore VMs via Barrier Events

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multicore virtualization systems, nondeterministic events such as memory accesses by multiple processors can lead to inconsistencies during execution replay, making it challenging to recreate the exact ordering of events deterministically.

Innovation Solution

The implementation of partial and full barrier events allows for the capture and recreation of the ordering of nondeterministic events by blocking processors until specific points in their execution are reached, ensuring deterministic replay by interposing on these events during live execution and recording their constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple virtual processors access shared memory concurrently in a multicore system, then processing productivity is improved, but execution replay determinism deteriorates due to nondeterministic memory access ordering

Engineering Contradiction:
Improveprocessing throughputVSAvoidexecution replay determinism
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent records barrier events and memory access metadata during the initial execution phase before replay begins. This preliminary capture of execution ordering information enables deterministic replay without requiring actual memory access ordering to be preserved, allowing concurrent access during normal execution while maintaining replayability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces barrier events as intermediary markers that virtual processors encounter during execution. These barrier events serve as synchronization points that record the ordering of memory accesses without actually blocking the high-performance concurrent access paths, thus mediating between productivity and determinism requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If barrier events are used to enforce deterministic ordering during replay, then execution replay determinism is improved, but processor execution speed deteriorates due to blocking

Engineering Contradiction:
Improveexecution replay determinismVSAvoidprocessor execution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies barrier events selectively only during replay execution, not during normal production execution. During replay, barrier events enforce deterministic ordering by blocking processors at recorded points. During normal execution, the same barrier infrastructure is bypassed to maintain full processor speed, thus applying the deterministic constraint partially rather than continuously.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically switches behavior based on execution mode. The virtualization layer detects whether the system is in production mode or replay mode and adjusts the enforcement of barrier events accordingly. This dynamic adaptation allows the system to optimize for speed during normal operation and for determinism during replay without compromising either mode.

Inventive Principle:
Principle #15Dynamics

3Reliability

If full barrier events are implemented to ensure complete ordering, then execution replay determinism is improved, but system complexity increases due to additional synchronization mechanisms

Engineering Contradiction:
Improveexecution replay determinismVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides barrier events into different types (full barriers and light barriers) based on the specific synchronization needs at each memory access point. Full barriers enforce complete ordering when necessary, while light barriers provide lighter-weight synchronization for less critical accesses. This segmentation allows the system to achieve determinism only where required rather than implementing complex full synchronization everywhere.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the level of barrier enforcement based on the characteristics of each memory access. By analyzing the type of memory operation and its criticality to execution ordering, the system adjusts the barrier strength parameter dynamically, using stronger barriers only when necessary for determinism and weaker barriers otherwise, thus reducing overall system complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11526358B2Deterministic execution replay for multicore systems
Publication Date: 2022.12.13 NIGHTWING GROUP LLC
  • US11526358B2 patent drawing
  • US11526358B2 patent drawing
  • US11526358B2 patent drawing

AI summary

Techniques are disclosed for interposing on nondeterministic events during multicore virtual machine (VM) execution to capture information that allows for deterministically recreating the nondeterministic events during execution replay of the VM. A method may include reading, by a virtual processor running within a multicore VM instance, an instruction to execute, and, responsive to a determination that the instruction is a nondeterministic instruction, interposing on the nondeterministic instruction execution so as to allow deterministic execution of the nondeterministic instruction during replay execution of the multicore VM instance. Interposing on the nondeterministic instruction execution may include recording a partial barrier event and/or a full barrier event. The nondeterministic instruction may be a read memory access instruction or a write memory access instruction.