Event Counter Checkpointing for Transactional Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional event counters in processors count both committed and un-committed execution events, making it difficult to distinguish and exclude events from aborted or un-committed speculative execution, which hampers performance tuning and resource management.

Innovation Solution

Implementing event counter checkpointing and restore logic to store and restore event counts, allowing for the exclusion of events during un-committed execution from the final count, thereby enabling separate tracking of committed and un-committed events.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional event counters count all events during both committed and un-committed execution, then the counting process is simple and continuous, but the event count includes events from aborted speculative execution which reduces measurement precision

Engineering Contradiction:
Improveevent count accuracyVSAvoidcounter structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The event counter is segmented into multiple independent counters, each dedicated to counting events of specific types (e.g., retired instructions, branch instructions, cache references, cache misses, bus accesses). This segmentation allows precise tracking of different event categories while maintaining simple individual counter structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Event counts are checkpointed at specific points during execution (e.g., at retirement of control instructions, at branch resolution points). This preliminary recording of event counts at strategic checkpoints enables later restoration and exclusion of events from aborted speculative execution paths without requiring continuous complex validation during counting.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If event counter checkpointing and restore logic are implemented to store and restore event counts, then events during un-committed execution can be excluded from the final count, but the device complexity increases

Engineering Contradiction:
Improvecommitted event count accuracyVSAvoidcheckpointing and restore logic
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Checkpoint data structures and restore logic act as intermediaries between the event counters and the performance monitoring system. These intermediaries capture event counts at checkpoints, manage the restoration process, and enable exclusion of speculative events without requiring fundamental changes to the counter hardware itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of modifying the original event counters to track committed vs. uncommitted events separately, the system creates copies of event count values at checkpoint points. These copied values are stored and can be restored or discarded based on whether the associated execution path is committed or aborted, keeping the original counters simple and functional.

Inventive Principle:
Principle #26Copying

3Measurement precision

If separate tracking of committed and un-committed events is enabled through checkpointing, then performance tuning accuracy improves, but the loss of time for checkpointing and restoring increases

Engineering Contradiction:
Improveperformance metric accuracyVSAvoidcheckpointing overhead time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Event counting and checkpointing occur periodically at naturally occurring execution points such as instruction retirements and branch resolutions, rather than continuously. This periodic approach captures necessary event data at meaningful intervals while minimizing overhead, as these points already represent natural synchronization points in the execution flow.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The checkpointing mechanism leverages existing processor infrastructure and execution flow characteristics to perform checkpointing with minimal additional overhead. By aligning checkpoints with existing control flow boundaries and utilizing available processor resources, the system achieves accurate event tracking without imposing significant time penalties on execution.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9372764B2Event counter checkpointing and restoring
Publication Date: 2016.06.21 INTEL CORP
  • US9372764B2 patent drawing
  • US9372764B2 patent drawing
  • US9372764B2 patent drawing

AI summary

Event counter checkpointing and restoring is disclosed. In one implementation, a processor includes a first event counter to count events that occur during execution within the processor, event counter checkpoint logic, communicably coupled with the first event counter, to store, prior to a transactional execution of the processor, a value of the first event counter, a second event counter to count events prior to and during the transactional execution, wherein the second event counter is to increment without resetting after the transactional execution is aborted, event count restore logic to restore the first event counter to the stored value after the transactional execution is aborted, and tuning logic to determine, in response to aborting of the transactional execution, a number of the events that occurred during the transactional execution based on the stored value of the first event counter and a value of the second event counter.