Transaction Trace Circuitry for Resource Usage Profiling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems that support transactions, there is a need to efficiently manage speculative updates and resource usage to avoid conflicts and optimize transaction execution, particularly in multi-threaded environments where resource usage profiling is lacking.

Innovation Solution

The implementation of processing circuitry and transaction trace circuitry that generates trace items indicating changes in resource usage levels during transaction execution, allowing for better resource management and future transaction optimization by analyzing these trace items.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If speculative updates are used to enable parallel transaction execution, then productivity is improved, but reliability deteriorates due to potential conflicts between transactions

Engineering Contradiction:
Improvetransaction execution efficiencyVSAvoidtransaction conflict risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by tracking resource usage levels during transaction execution and generating trace items that record these usage patterns before conflicts occur. This allows the system to analyze resource allocation in advance and optimize future transactions to avoid conflicts, thereby maintaining the productivity benefits of speculative updates while improving reliability through proactive conflict prevention.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If resource usage is tracked during transaction execution, then measurement precision is improved, but device complexity increases due to additional trace circuitry

Engineering Contradiction:
Improveresource usage profiling accuracyVSAvoidtrace circuitry overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential resource usage information needed for conflict detection and optimization, rather than tracking every detail of resource consumption. By selectively monitoring key resource usage levels and generating trace items only when significant changes occur, the system achieves sufficient measurement precision for conflict prevention while minimizing the complexity of the trace circuitry required.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If trace items are generated for every resource usage change, then measurement precision is improved, but loss of time increases due to frequent trace generation

Engineering Contradiction:
Improveresource usage detail levelVSAvoidtrace generation overhead
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by generating trace items only for significant resource usage changes rather than for every minor fluctuation. The system monitors resource usage levels and triggers trace item generation only when threshold violations or significant changes occur, thereby maintaining sufficient measurement precision for conflict detection while reducing the time overhead associated with continuous trace generation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10776120B2Apparatus and method to generate trace data in response to transactional execution
Publication Date: 2020.09.15 ARM LTD
  • US10776120B2 patent drawing
  • US10776120B2 patent drawing
  • US10776120B2 patent drawing

AI summary

There is provided an apparatus comprising processing circuitry to execute a transaction comprising a number of program instructions that execute to generate updates to state data, to commit the updates if the transaction completes without a conflict, and to generate trace control signals during execution of the number of program instructions. The processing circuitry uses at least one resource during execution of the program instructions. Transaction trace circuitry generates trace items in response to the trace control signals. In response to the trace control signals indicating that a change in a usage level of the at least one resource has occurred during execution of the program instructions, the transaction trace circuitry generates at least one trace item that indicates the usage level of the at least one resource.