Transactional Memory Store Buffer Commit Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transactional memory systems face performance degradation due to unnecessary memory system bus bandwidth consumption and delays when committing transactions with no buffered stores, as processors signal and wait for non-existent store-marks in the L2 cache.

Innovation Solution

A processor system that sets a stores_encountered indicator during transactional execution, signaling the cache to commit stores only if stores were buffered, and internally generating a PASS signal if no stores were buffered, thereby avoiding unnecessary resource usage and delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor signals the L2 cache to lock store-marked cache lines and commit stores during transaction completion, then memory atomicity is preserved, but memory system bus bandwidth is consumed and commit latency increases when no stores were buffered

Engineering Contradiction:
Improvememory atomicityVSAvoidcommit latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by conditionally executing the store commitment process only when stores were actually buffered during transaction execution. The stores_encountered indicator tracks whether stores occurred, and the commit process is partially executed (skipping the L2 cache signaling step) when no stores were buffered, thereby avoiding unnecessary bus transactions and reducing commit latency while maintaining atomicity when needed.

Inventive Principle:
Principle #16Partial or excessive action

2Productivity

If the processor signals the L2 cache to commit stores, then store-marks are removed and cache lines are unlocked, but unnecessary bus bandwidth consumption occurs when no stores were buffered

Engineering Contradiction:
Improvetransaction commit throughputVSAvoidmemory system bus bandwidth
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs partial action by conditionally executing the L2 cache commit sequence based on the stores_encountered indicator. When no stores were buffered, the system skips the TX_DONE signal transmission and associated bus transactions, thereby preserving memory system bus bandwidth while maintaining correct behavior for transactions that did buffer stores.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the processor waits for PASS signal from L2 cache before resuming execution, then commit completion is confirmed, but execution is delayed when no stores were buffered

Engineering Contradiction:
Improvecommit completion confirmationVSAvoidexecution resumption speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent implements partial action by conditionally waiting for the PASS signal based on whether stores were buffered. When stores_encountered is clear (no stores buffered), the processor skips the wait for PASS signal and directly resumes execution, improving speed. When stores were buffered, the system maintains reliable confirmation by waiting for the PASS signal before resuming.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8041900B2Method and apparatus for improving transactional memory commit latency
Publication Date: 2011.10.18 ORACLE AMERICAN INC
  • US8041900B2 patent drawing
  • US8041900B2 patent drawing
  • US8041900B2 patent drawing

AI summary

Embodiments of the present invention provide a system that executes transactions on a processor that supports transactional memory. The system starts by executing the transaction on the processor. During execution of the transactions, the system places stores in a store buffer. In addition, the system sets a stores_encountered indicator when a first store is placed in the store buffer during the transaction. Upon completing the transaction, the system determines if the stores_encountered indicator is set. If so, the system signals a cache to commit the stores placed in the store buffer during the transaction to the cache and then resumes execution of program code following the transaction when the stores have been committed. Otherwise, the system resumes execution of program code following the transaction without signaling the cache.