Configurable Transactional Memory for Multiprocessor Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Designing protocols for data exchange between processors in multiprocessing systems is time-consuming and expensive, limiting system performance due to the overhead of locks and mutexes.

Innovation Solution

A configurable transactional memory that synchronizes transactions from clients using a memory buffer and transactional arbiter, eliminating the need for locks or mutexes by allocating storage between a transactional buffer and a data buffer, and generating completion status based on access states to prevent collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If locks or mutexes are used to synchronize data exchange between processors, then data consistency is ensured, but system performance is limited due to overhead and protocol complexity

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces a transactional memory buffer as an intermediary mechanism between processors. Instead of direct locked access to shared memory, processors submit transactions to the buffer which then manages synchronization atomically. This mediator absorbs the complexity of synchronization protocols while providing simple transaction interfaces to processors, thereby maintaining data consistency without the performance overhead of traditional locks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a buffer that copies and tracks transaction states for multiple processors. Rather than having processors directly compete for lock access to shared memory, the system creates copies of transaction information in the buffer, tracks their states (committed, aborted, in-progress), and manages conflicts through these copies. This copying mechanism eliminates lock overhead while ensuring consistency through atomic transaction management.

Inventive Principle:
Principle #26Copying

2Reliability

If complex protocols are designed for data exchange between processors, then data consistency is achieved, but design time and cost increase

Engineering Contradiction:
Improvedata consistencyVSAvoiddesign time and cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The transactional memory buffer operates autonomously to manage transaction synchronization. It automatically tracks transaction states, detects conflicts between concurrent transactions, and determines commit or abort decisions without requiring external protocol management. This self-service capability embeds the complex consistency logic within the buffer itself, freeing processor design from complex synchronization protocols and reducing overall system design complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent merges the synchronization protocol logic directly into the transactional memory buffer structure. Rather than implementing separate lock management and transaction processing mechanisms, the system combines state tracking, conflict detection, and atomic commitment logic into a single integrated buffer. This merging consolidates design efforts into one component, reducing both design time and implementation cost while maintaining data consistency.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If traditional locking mechanisms are used, then data access control is provided, but overhead reduces transaction throughput

Engineering Contradiction:
Improvedata access controlVSAvoidtransaction throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-allocating buffer entries and pre-tracking transaction states before actual data access conflicts occur. Each processor transaction is registered in advance with the buffer, which maintains a state indicating whether each data word is referenced by any in-progress transaction. This preliminary tracking enables rapid conflict detection and atomic commit/abort decisions, eliminating the need for time-consuming lock acquisition and release sequences, thereby increasing transaction throughput while maintaining access control.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8930644B2Configurable transactional memory for synchronizing transactions
Publication Date: 2015.01.06 XILINX INC
  • US8930644B2 patent drawing
  • US8930644B2 patent drawing
  • US8930644B2 patent drawing

AI summary

A configurable transactional memory synchronizes transactions from clients. The configurable transactional memory includes a memory buffer and a transactional buffer. The memory buffer includes allocation control and storage, and the allocation control is configurable to selectively allocate the storage between a transactional buffer and a data buffer for the data words. The transactional buffer stores state indicating each combination of a data word and a client for which the data word is referenced by a write access in the transaction in progress from the client. The transactional arbiter generates the completion status for the transaction in progress from each client. The completion status is either committed for no collision or aborted for a collision. A collision is an access that references a data word of the transaction from the client following a write access that references the data word of another transaction in progress from another client.