Transactional Memory Conflict Scheduling via Learned Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel processing systems face complexity and inefficiency due to conflicts between processing transactions in multi-processor systems, particularly in managing shared data, which leads to frequent aborts and rescheduling with exponential backoff, increasing system overhead and reducing performance.

Innovation Solution

A method that detects conflicts between processing transactions in a transactional memory system, stores conflict data to identify previous conflicts, and schedules transactions based on this data to reduce future conflicts, using a combination of hardware and software mechanisms to manage and predict potential conflicts, thereby improving system efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If exponential backoff is used to reschedule aborted transactions, then conflict resolution is achieved, but system overhead increases and performance decreases

Engineering Contradiction:
Improveconflict resolutionVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system implements feedback by monitoring conflict patterns between transactions and using this information to dynamically adjust scheduling decisions. The conflict detection mechanism provides feedback about which transactions conflict with each other, enabling the scheduler to learn from past conflicts and prevent future conflicts by making informed scheduling decisions based on observed conflict patterns.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary action by detecting and recording conflicts before they occur during transaction execution. By maintaining conflict detection information and analyzing conflict patterns in advance, the system can proactively prevent conflicts from arising during actual transaction execution, thereby avoiding the need for aborts and exponential backoff rescheduling.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If software locks are used to enforce exclusive access, then data integrity is maintained, but program complexity and error-proneness increase

Engineering Contradiction:
Improvedata integrityVSAvoidprogram complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The hardware transactional memory system provides self-service by automatically detecting conflicts between transactions and managing the necessary synchronization without requiring software intervention. The conflict detection and resolution mechanisms are implemented in hardware, allowing transactions to execute autonomously with automatic conflict management, thereby eliminating the need for complex software lock management while maintaining data integrity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces the mechanical software-based lock management system with a hardware-based conflict detection and resolution mechanism. Instead of relying on software to manually set and reset locks, the hardware automatically detects conflicts between transactions and manages synchronization, thereby reducing program complexity and eliminating error-prone manual lock management while maintaining data integrity.

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

3Reliability

If frequent conflict detection and rescheduling is performed, then correct execution is ensured, but system overhead and execution time increase

Engineering Contradiction:
Improveexecution correctnessVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial action by implementing conflict detection only when necessary rather than continuously monitoring all transactions. The conflict detection mechanism is triggered selectively based on transaction characteristics and system state, performing detection at appropriate moments rather than constantly, thereby reducing the time overhead while still ensuring execution correctness when conflicts occur.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9513959B2Contention management for a hardware transactional memory
Publication Date: 2016.12.06 ARM LTD
  • US9513959B2 patent drawing
  • US9513959B2 patent drawing
  • US9513959B2 patent drawing

AI summary

A hardware transactional memory 12, 14, 16, 18, 20 is provided within a multiprocessor 4, 6, 8, 10 system with coherency control and hardware transaction memory control circuitry 22 that serves to at least partially manage the scheduling of processing transactions in dependence upon conflict data 26, 28, 30. The conflict data characterizes previously encountered conflicts between processing transactions. The scheduling is performed such that a candidate processing transaction will not be scheduled if the conflict data indicates that one of the already running processing transactions has previously conflicted with the candidate processing transaction.