Suspendable Load Address Tracking in Transactional Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems for transactional memory execution lack the ability to suspend load address tracking, leading to increased abort conditions due to conflicts and capacity overflow, resulting in poor performance and resource utilization.

Innovation Solution

Implementing a light-weight suspend region within a transaction that excludes load address tracking using the 'XsuspndRdTrk' and 'XResumeRdTrk' instructions, allowing the processor to bypass adding loaded addresses to the read set, while maintaining write set tracking, thereby reducing read set size and abort occurrences.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If load address tracking is continuously performed within transactions, then transaction isolation and consistency are maintained, but read set capacity is exceeded and abort conditions increase

Engineering Contradiction:
Improvetransaction consistencyVSAvoidread set size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The transaction is segmented into two distinct regions: a speculative execution region where load address tracking is suspended and addresses are not added to the read set, and a committed execution region where normal read set tracking is restored. This segmentation allows the system to maintain transaction consistency for critical operations while avoiding read set capacity exhaustion during speculative phases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The read set tracking mechanism is made dynamic by allowing it to be selectively suspended and resumed within a transaction. The speculative execution region temporarily disables address tracking to reduce read set size, while the committed execution region re-enables tracking to ensure consistency. This dynamic adjustment resolves the contradiction between maintaining consistency and avoiding capacity overflow.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If load address tracking is suspended in speculative execution regions, then read set capacity is preserved and abort conditions are reduced, but transaction isolation may be compromised

Engineering Contradiction:
Improveread set sizeVSAvoidtransaction isolation
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

By segmenting the transaction into speculative and committed regions, the system ensures that isolation requirements are only enforced in the committed region where read set tracking is active. The speculative region, which does not require strict isolation guarantees, can operate with suspended tracking, thus preserving read set capacity while maintaining isolation where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different quality levels of isolation are applied to different regions of the transaction. The committed execution region receives full isolation guarantees through active read set tracking, while the speculative execution region operates with relaxed isolation requirements. This local differentiation allows the system to optimize read set size without completely compromising transaction isolation.

Inventive Principle:
Principle #3Local quality

3Reliability

If conventional locking mechanisms are used for shared resource access, then resource consistency is ensured, but system performance and throughput are reduced

Engineering Contradiction:
Improveresource consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The invention extracts the locking mechanism from the transactional memory system by introducing a speculative execution region that operates without locks. By taking out the explicit locking requirement and replacing it with a lock-free speculative execution model, the system maintains resource consistency through transactional semantics while significantly improving throughput by allowing concurrent access without serialization.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10146538B2Suspendable load address tracking inside transactions
Publication Date: 2018.12.04 INTEL CORP
  • US10146538B2 patent drawing
  • US10146538B2 patent drawing
  • US10146538B2 patent drawing

AI summary

Suspendable load address tracking inside transactions is disclosed. An example processing device of implementations of the disclosure includes a transactional memory (TM) read set tracking component circuitry to identify a suspend read tracking instruction within a transaction executed by the processing device, mark load instructions occurring in the transaction subsequent to the identified suspend read tracking instruction with a suspend attribute, wherein the addresses corresponding to the marked load instructions are excluded from a read set maintained for the transaction, identify a resume read tracking instruction within the transaction, and stop marking the load instructions occurring subsequent to the identified resume read tracking instruction with the suspend attribute.