Unbounded Transactional Memory Mode Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current transactional memory systems face challenges in efficiently handling transactions that exceed hardware limitations, leading to performance overhead and compatibility issues between hardware and software transactional systems.

Innovation Solution

The implementation of an unbounded transactional memory (UTM) system that allows for various transaction modes, including cache resident, hardware-assisted, and software-based modes, enabling flexible execution and mode switching to optimize performance and compatibility with existing systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware attributes are added to memory data arrays to track reads, writes, and buffering, then transactional memory tracking capability is improved, but memory overhead and data travel overhead increase

Engineering Contradiction:
Improvetransactional memory tracking capabilityVSAvoidmemory overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent separates transactional metadata from actual data by implementing a dedicated metadata array structure. Instead of extending each data entry with attribute bits, the system creates a separate metadata storage structure that tracks reads, writes, and buffering information independently. This segmentation reduces the overhead embedded in each data element while maintaining comprehensive transactional tracking capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a metadata array as an intermediary structure between the data array and the transactional memory management logic. This metadata array serves as a mediator that stores all necessary transactional attributes (read/set, write/set, buffering flags) without requiring modifications to the actual data elements. The metadata array acts as a buffer layer that enables tracking without increasing data travel overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If unbounded transactional memory transactions are implemented with arbitrarily large memory footprint, then transaction capacity is improved, but complexity of concurrency control and interaction with existing systems increases

Engineering Contradiction:
Improvetransaction capacityVSAvoidconcurrency control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic mode switching capability that allows the transactional memory system to adapt its operation mode based on the specific transaction requirements and system state. The system can dynamically transition between different concurrency control strategies and memory allocation patterns, enabling it to handle both small and large transactions efficiently without requiring a single complex fixed-mode architecture.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent utilizes parameter changes to manage unbounded transactions by adjusting metadata array sizing, allocation strategies, and concurrency control parameters based on transaction characteristics. The system can modify parameters such as metadata array dimensions, buffering thresholds, and conflict resolution strategies dynamically during transaction execution, allowing it to scale from small to large transactions without fundamental architectural changes.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If metadata is made persistent to travel with data throughout the memory hierarchy, then data integrity is improved, but overhead throughout the memory hierarchy system increases

Engineering Contradiction:
Improvedata integrityVSAvoidmemory hierarchy overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by making metadata persistent only where necessary in the memory hierarchy. Instead of forcing all metadata to travel with data through every level of the memory hierarchy, the system selectively maintains persistence at specific levels (such as in the metadata array structure and cache levels that require it). This localized persistence approach maintains data integrity where critical while reducing unnecessary overhead in other parts of the memory hierarchy.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8365016B2Performing mode switching in an unbounded transactional memory (UTM) system
Publication Date: 2013.01.29 INTEL CORP
  • US8365016B2 patent drawing
  • US8365016B2 patent drawing
  • US8365016B2 patent drawing

AI summary

In one embodiment, the present invention includes a method for selecting a first transaction execution mode to begin a first transaction in a unbounded transactional memory (UTM) system having a plurality of transaction execution modes. These transaction execution modes include hardware modes to execute within a cache memory of a processor, a hardware assisted mode to execute using transactional hardware of the processor and a software buffer, and a software transactional memory (STM) mode to execute without the transactional hardware. The first transaction execution mode can be selected to be a highest performant of the hardware modes if no pending transaction is executing in the STM mode, otherwise a lower performant mode can be selected. Other embodiments are described and claimed.