Reservation-Required Transactions for Atomic Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing architecture-level support for atomic transactions faces challenges in handling buffer overflows, leading to inefficient and complex hardware-software solutions, particularly when transactions modify a large number of memory locations that exceed on-chip buffer capacity, necessitating either limiting transaction use or relying on software-managed semaphores for atomicity.

Innovation Solution

The Reservation-Required Transactions (RRT) system partitions transactions into a transaction head and tail phase, using memory reserve instructions to reserve all transactional memory locations before the transaction tail phase, allowing data to be committed without buffering, and combining with buffer-based solutions to handle overflow scenarios, while maintaining hardware-software efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If architecture-level atomic transactions are implemented with on-chip buffers, then transaction atomicity is supported, but buffer overflow occurs when transactions modify large numbers of memory locations

Engineering Contradiction:
Improvetransaction atomicityVSAvoidbuffer capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the atomic transaction execution into two distinct phases: a transaction head phase where memory locations are reserved and speculative executions occur, and a transaction tail phase where commits happen without buffering. This segmentation allows the system to support atomicity for large transactions by eliminating the need to buffer all modified data in on-chip memory throughout the entire transaction execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions during the transaction head phase by reserving all memory locations that will be accessed during the transaction before the actual modifications occur. This preliminary reservation establishes atomicity guarantees upfront, allowing the transaction tail phase to commit data directly without buffering, thus solving the buffer capacity limitation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If software-managed semaphores are used to handle buffer overflow, then atomicity is maintained, but system efficiency and productivity decrease

Engineering Contradiction:
Improveatomicity guaranteeVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the software-managed semaphore mechanism with a hardware-supported two-phase transaction model. Instead of using software semaphores to serialize access and maintain atomicity, the system uses hardware-enforced memory reservations during the transaction head phase, allowing parallel speculative executions without software intervention. This substitution eliminates the performance overhead of software semaphores while maintaining atomicity guarantees.

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

3Reliability

If on-chip L1/L2 caches are used for buffering, then transaction support is provided, but transactions exceeding cache capacity cannot complete

Engineering Contradiction:
Improvetransaction completionVSAvoidcache capacity
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The patent segments the transaction execution to separate the reservation phase (head) from the commit phase (tail). During the head phase, memory locations are reserved and speculative executions occur using cache resources. During the tail phase, commits are performed without requiring cache buffering. This segmentation allows transactions to exceed cache capacity by only using cache for the reservation phase rather than for buffering all modified data throughout execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the buffering requirement from the transaction commit process. Instead of requiring on-chip caches to buffer all modified data during the entire transaction, the system separates the reservation function (which can use cache) from the commit function (which does not require buffering). This extraction allows large transactions to complete successfully by removing the cache capacity constraint from the commit operation.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8166255B2Reservation required transactions
Publication Date: 2012.04.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8166255B2 patent drawing
  • US8166255B2 patent drawing
  • US8166255B2 patent drawing

AI summary

A method for performing a transaction including a transaction head and a transaction tail, includes executing the transaction head, including executing at least one memory reserve instruction to reserve a transactional memory location that are accessed in the transaction and executing the transaction tail, wherein the transaction cannot be aborted due to a data race on that transactional memory location while executing the transaction tail, wherein data of memory write operations to the transactional memory location is committed without being buffered.