Unbounded Transactional Memory Overflow Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional processor systems face challenges with synchronization in multi-core environments, such as deadlock, priority inversion, and the convoy effect, due to the use of locks, and struggle with managing large data sets in hardware transactional memory systems, leading to inefficiencies and resource wastage upon overflow.
Innovation Solution
An unbounded transactional memory system is introduced, featuring a host processor with a cache that includes T and O bits for transaction tracking, a memory processor for overflow management, and a hash table for storing overflow data, enabling efficient overflow handling and conflict detection without relying solely on hardware logic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If locks are used for synchronization in multi-core environments, then mutual exclusion is achieved, but deadlock, priority inversion, and convoy effect occur
Solution Approach 1:
The patent extracts the synchronization mechanism from traditional lock-based approaches and implements a lock-free transactional memory system. The execution unit performs atomic read-set and write-set operations without acquiring locks, eliminating deadlock and priority inversion while maintaining synchronization reliability through hardware-supported atomic operations and conflict detection mechanisms
Solution Approach 2:
The patent replaces the mechanical lock-based synchronization system with a software-based transactional memory system supported by hardware atomic operations. Instead of using physical lock mechanisms that cause convoy effects, the system uses atomic read-set/write-set operations with conflict detection and resolution through abort and retry mechanisms
2Productivity
If hardware transactional memory is used, then parallel processing efficiency is improved, but data larger than cache size cannot be managed
Solution Approach 1:
The patent extends the transactional memory capability from cache-bound to memory-bound operations by introducing unbounded transactional memory support. The system allows transactions to access data beyond cache boundaries by implementing overflow detection and handling mechanisms that work with main memory, adding a new dimension of addressable space for transactions
Solution Approach 2:
The patent implements preliminary overflow detection within cache sets during transaction execution. When a cache set becomes full, the system proactively detects the overflow condition and handles it by aborting the transaction and retrying, preventing resource wastage from completing transactions with overflowed data while maintaining parallel processing efficiency
3Speed
If cache is used to store transaction data, then access speed is improved, but overflow data cannot be stored
Solution Approach 1:
The patent segments the storage hierarchy into cache and main memory, with the cache handling fast access for frequently used data and main memory providing unbounded storage for overflow data. The system maintains cache speed for normal operations while using memory for overflow handling, achieving both speed and capacity requirements through this segmented approach
Data Source
AI summary
An unbounded transactional memory system which can process overflow data. The unbounded transactional memory system may include a host processor, a memory, and a memory processor. The host processor may include an execution unit to perform a transaction, and a cache to temporarily store data. The memory processor may store overflow data in overflow storage included in the memory in response to an overflow event in which the overflow data is generated in the cache during the transaction.


