Hybrid Transaction Read Write Set Tracking for Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core processor systems, traditional locking mechanisms and hardware Transactional Memory (TM) face challenges in managing speculative mis-predictions and transactional aborts due to increasing CPU core counts and shared memory access conflicts, leading to inefficiencies and wasted cycles.

Innovation Solution

A system and method for tracking processor transactional read and write sets using a tool that maintains non-speculative indications and queues for speculative instructions, resolving potential transaction interference by holding responses until speculative instructions are committed or flushed, thereby preventing unnecessary aborts and improving concurrency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware Transactional Memory is implemented to enable atomic transaction execution, then transactional isolation and serializability are improved, but transactional aborts due to speculative mis-predictions increase

Engineering Contradiction:
Improvetransactional isolationVSAvoidtransaction execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the tracking of read and write sets by distinguishing between speculative and non-speculative instructions. A separate queue structure is introduced to track only non-speculative memory accesses, while speculative accesses are handled differently. This segmentation allows the system to maintain transactional isolation guarantees while reducing aborts caused by speculative mis-predictions, as the speculative instructions do not incorrectly block other transactions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism - a queue that tracks memory addresses accessed by non-speculative instructions. This queue acts as a mediator between the speculative execution unit and the transactional memory system, allowing the system to distinguish between speculative and non-speculative accesses. The intermediary enables proper conflict detection only for non-speculative accesses, preventing unnecessary aborts while maintaining isolation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If traditional locking mechanisms are used to protect shared data structures, then software scalability is improved, but locking complexity and error-proneness increase

Engineering Contradiction:
Improvesoftware scalabilityVSAvoidlocking mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where the hardware automatically tracks memory accesses and detects conflicts without requiring software intervention. The transactional memory system autonomously manages the read and write sets, detecting conflicts between transactions and handling aborts automatically. This eliminates the need for complex software locking mechanisms, reducing both complexity and error-proneness while maintaining scalability.

Inventive Principle:
Principle #25Self-service

3Productivity

If finer-grained locking is implemented to reduce lock contention, then access efficiency is improved, but implementation complexity and error-proneness increase

Engineering Contradiction:
Improveaccess efficiencyVSAvoidlocking implementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical software-based locking system with a hardware-based transactional memory mechanism. Instead of using software locks and synchronization primitives, the system uses hardware-supported atomic transactions with automatic conflict detection and resolution. This substitution maintains fine-grained access efficiency while eliminating the complexity and errors associated with software locking implementation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Speed

If speculative execution is allowed to improve instruction throughput, then processing speed is improved, but transactional aborts due to mis-predictions increase

Engineering Contradiction:
Improveinstruction throughputVSAvoidtransaction completion rate
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the instruction stream into speculative and non-speculative portions for tracking purposes. The queue structure separates memory accesses based on their speculative status, allowing speculative instructions to execute freely for throughput improvement while ensuring that only non-speculative accesses are considered for conflict detection. This segmentation enables the system to maintain high instruction throughput while preventing speculative mis-predictions from causing unnecessary transaction aborts.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10120804B2Hybrid tracking of transaction read and write sets
Publication Date: 2018.11.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10120804B2 patent drawing
  • US10120804B2 patent drawing
  • US10120804B2 patent drawing

AI summary

Tracking a processor instruction is provided to limit a speculative mis-prediction. A non-speculative read set indication and/or write set indication are maintained for a transaction. The indication(s) are stored in cache. In addition, a queue(s) of at least one address corresponding to a speculatively executed instruction is maintained. For a received request from a processor, a transaction resolution process takes place, and a resolution is performed if an address match in the queue is detected. The resolution includes to hold a response to the receive request until the speculative instruction is committed or flushed.