Speculative Thread Conflict Resolution via Age-Ordered Rollback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems with multiple processor cores, asynchronous conflict events from speculative thread execution can lead to out-of-order interrupts, causing inefficiencies in rollback and commit operations due to the complexity of managing conflicts between threads.

Innovation Solution

A method is implemented to identify and roll back the oldest work unit causing asynchronous conflict events, followed by rolling back and re-executing younger work units in age order, ensuring that speculative executions are committed in a controlled and ordered manner to resolve conflicts efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If speculative thread execution is used to improve processor performance, then productivity increases, but conflicts between threads cause out-of-order interrupts and rollback complexity

Engineering Contradiction:
Improveprocessor performanceVSAvoidconflict management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the thread execution into distinct phases: speculative execution phase where threads execute independently for performance, and conflict resolution phase where only the oldest conflicting thread is rolled back. This segmentation separates the high-performance speculative execution from the complex conflict management, allowing both to function effectively without interfering with each other.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-establishing the rule that only the oldest work unit among conflicting threads should be rolled back. This pre-determined strategy avoids the need for complex real-time analysis of all conflicting threads, simplifying the conflict resolution process while maintaining correctness.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If asynchronous conflict events are processed immediately, then response time decreases, but out-of-order interrupts cause inefficiency in rollback operations

Engineering Contradiction:
Improveresponse timeVSAvoidrollback efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements periodic action by processing conflict events in batches rather than immediately. The system accumulates conflict events and processes them periodically, which allows out-of-order interrupts to be collected and resolved in an organized manner, improving rollback efficiency while maintaining acceptable response time.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent performs preliminary collection of conflict events before processing them. By accumulating conflict events in a buffer and then processing them in batches, the system prepares the data in advance in a structured manner, avoiding the inefficiency of processing out-of-order interrupts immediately while still maintaining timely response.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If all conflicting threads are rolled back, then conflict resolution is thorough, but execution time increases

Engineering Contradiction:
Improveconflict resolution correctnessVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the essential information needed for conflict resolution - specifically identifying only the oldest work unit among conflicting threads for rollback. This extraction approach filters out unnecessary processing of other conflicting threads, maintaining correctness by rolling back only the critical oldest thread while significantly reducing execution time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by rolling back only the oldest conflicting thread rather than all conflicting threads. This partial rollback is sufficient to resolve the conflict correctly, as the oldest thread's work must be undone to maintain consistency, while avoiding the excessive action of rolling back all threads which would waste time.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8689221B2Speculative thread execution and asynchronous conflict events
Publication Date: 2014.04.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8689221B2 patent drawing
  • US8689221B2 patent drawing
  • US8689221B2 patent drawing

AI summary

In an embodiment, asynchronous conflict events are received during a previous rollback period. Each of the asynchronous conflict events represent conflicts encountered by speculative execution of a first plurality of work units and may be received out-of-order. During a current rollback period, a first work unit is determined whose speculative execution raised one of the asynchronous conflict events, and the first work unit is older than all other of the first plurality of work units. A second plurality of work units are determined, whose ages are equal to or older than the first work unit, wherein each of the second plurality of work units are assigned to respective executing threads. Rollbacks of the second plurality of work units are performed. After the rollbacks of the second plurality of work units are performed, speculative executions of the second plurality of work units are initiated in age order, from oldest to youngest.