Transactional Memory Token Assignment for Scalable Multi-Core Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If fine-grained locking is implemented in software to improve scalability, then productivity improves, but device complexity increases and errors become more prone
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.
3Speed
If hardware interconnects are designed with higher bandwidth to reduce latency, then speed improves, but device complexity and manufacturing difficulty increase
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.
Data Source
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.


