Transactional Memory Token Assignment for Scalable Multi-Core Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing number of CPU cores and shared memory systems leads to scalability issues due to hot spots in shared queues or data structures protected by traditional semaphores, requiring complex and error-prone fine-grained locking, and hardware interconnect latencies are limited by physical dimensions and light speed.

Innovation Solution

A computer-implemented method and system that assigns token types to transactions within a transactional memory environment, allowing transactions to opt-in for a conflict check, determining compatibility, and granting access to cache lines without aborting other transactions if they are in a compatible state, enabling concurrent access to shared memory locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional semaphores are used to protect shared data structures, then data consistency is maintained, but scalability deteriorates due to hot spots and sub-linear n-way scaling curves

Engineering Contradiction:
Improvedata consistencyVSAvoidsoftware scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the monolithic semaphore lock into fine-grained transactional locks that operate independently on different cache lines. Each transaction operates atomically on specific memory locations without requiring global locking, thereby eliminating hot spots and enabling linear scalability across multiple CPU cores while maintaining data consistency through hardware-enforced transaction atomicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces hardware transactional memory (HTM) as an intermediary mechanism between software transactions and the cache coherence subsystem. This intermediary automatically manages conflict detection and resolution at the cache line level, allowing multiple transactions to proceed concurrently without software-managed semaphores, thus improving scalability while preserving reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If fine-grained locking is implemented in software to improve scalability, then productivity improves, but device complexity increases and errors become more prone

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

Solution Approach 1:

The patent enables transactions to self-manage their own locking and conflict resolution through hardware transactional memory mechanisms. Each transaction automatically acquires and releases fine-grained locks on cache lines it accesses, with the hardware detecting conflicts and aborting transactions as needed. This eliminates the need for complex software locking protocols while maintaining scalability and reducing error-proneness.

Inventive Principle:
Principle #25Self-service

3Speed

If hardware interconnects are designed with higher bandwidth to reduce latency, then speed improves, but device complexity and manufacturing difficulty increase

Engineering Contradiction:
Improveinterconnect latencyVSAvoidhardware interconnect complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent shifts the conflict resolution mechanism from the interconnect dimension to the cache coherence dimension. Instead of requiring high-bandwidth interconnects for frequent lock signaling, transactions resolve conflicts locally through cache line ownership tracking and hardware-managed conflict detection, thereby reducing interconnect latency without increasing interconnect complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10270775B2Mechanism for creating friendly transactions with credentials
Publication Date: 2019.04.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10270775B2 patent drawing
  • US10270775B2 patent drawing
  • US10270775B2 patent drawing

AI summary

One or more transactions may request or be assigned tokens within a transactional memory environment. A transaction may be created by at least one thread. A first transaction that includes a first token type may be received. A request may be received for a for a potential conflict check between the first transaction and a second transaction. In response to receiving the transaction potential conflict check, the first transaction and the second transaction are determined to be conflicting or not conflicting. The second transaction is assigned a token type in response to the determination of the transaction potential conflict check between the first transaction and the second transaction.