Transactional Memory Diagnostic Recording

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software application flight recorders are cost-prohibitive and incur significant overhead due to the expense of tracking every read/write operation, which can reduce performance by 50% or more, and lack a log or transaction mechanism for diagnostic recording.

Innovation Solution

Implementing hardware-based transactional memory to store a transaction log of recent memory accesses, allowing for exception handling and post-mortem replay of instructions leading up to an exception event, using a debugger tool, and storing this information in a core file for diagnostic purposes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a flight recorder tracks every read/write operation, then diagnostic capability is improved, but performance is reduced by 50% or more

Engineering Contradiction:
Improvediagnostic capabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the transaction logging functionality from the main memory path by using a separate transaction log buffer that is periodically dumped to disk. This allows the flight recorder to operate with minimal overhead during normal execution, only capturing transactions when needed (upon exception or at scheduled intervals), thus maintaining performance while providing diagnostic capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary action by maintaining a transaction log buffer in memory that captures memory transactions before they cause problems. The log is periodically dumped to disk in advance, so when an exception occurs, the diagnostic information is already available without requiring additional performance impact at the moment of failure.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If a flight recorder uses an in-memory circular buffer, then overhead is minimized, but tracking every read/write becomes expensive

Engineering Contradiction:
ImproveoverheadVSAvoidtracking cost
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent separates the simple circular buffer mechanism from the expensive full transaction tracking. The circular buffer only stores recent transactions in a lightweight format, and only these selected transactions are dumped to disk. This extraction allows the system to maintain low overhead while providing sufficient diagnostic information without the cost of tracking every single read/write operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of tracking every single memory transaction (excessive action), the system tracks only the most recent transactions in the circular buffer (partial action). This partial tracking approach provides enough diagnostic information for root cause analysis while significantly reducing the computational overhead and performance impact.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If no transaction log is maintained, then performance is preserved, but root cause analysis becomes difficult

Engineering Contradiction:
ImproveperformanceVSAvoidroot cause analysis
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary action by maintaining a transaction log buffer that captures memory transactions before problems occur. The log is periodically dumped to disk, so when an exception or trap occurs, the diagnostic information is already available for analysis. This preliminary capture of transaction data enables root cause analysis without requiring real-time tracking overhead during normal operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The transaction log buffer acts as an intermediary between the memory transactions and the diagnostic analysis process. It captures essential transaction information in a lightweight format and makes it available for disk storage and subsequent analysis, bridging the gap between performance-critical operation and diagnostic requirement without requiring continuous expensive tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8972794B2Method and apparatus for diagnostic recording using transactional memory
Publication Date: 2015.03.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8972794B2 patent drawing
  • US8972794B2 patent drawing
  • US8972794B2 patent drawing

AI summary

A method (500) or a diagnostic recording device (400) having transactional memory and a processor coupled to the transactional memory can store (502) contents of a transaction log (40) of the transactional memory, detect (504) an exception event, and replay (506) last instructions that led up to the exception event using a debugger tool (80). The transactional memory can be hardware or software based transactional memory. The processor can also store the transaction log by storing the contents of the transaction log in a core file (302) which can include a stack (60), a register dump (70), a memory dump (75), and the transactional log. The debugger tool can be used to load up the core file, an executable file (95), and a library (90) to enable the diagnostic recording device to retrace transactions occurring at the diagnostic recording device up to the exception event.