Transactional Shared Memory Atomicity via Batched Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed systems face challenges in efficiently utilizing network resources due to issues of consistency, reliability, and scalability, particularly in managing transactions across nodes, which often result in latency and single points of failure, especially when dealing with shared memory systems.

Innovation Solution

A transactional shared memory system (TSMS) is introduced, comprising application nodes and memory nodes interconnected by a network, with a transaction controller that enables atomic transactions, batched transaction routines, and notification routines to ensure data integrity and independence of application nodes without a centralized controller, using replication, disk logging, and disk imaging for fault tolerance and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a centralized server is used to control access transactions in a network file system, then data consistency can be maintained, but the system becomes vulnerable to single point of failure and overload latency

Engineering Contradiction:
Improvedata consistencyVSAvoidcentralized control structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides the network into multiple autonomous domains, each with its own namespace and access control policies. This segmentation eliminates the single point of failure by distributing control across multiple independent units, while maintaining data consistency through standardized inter-domain access protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces access control lists (ACLs) as intermediary structures that mediate between data objects and users/groups. These ACLs enable decentralized access control by providing a standardized interface for permission management, allowing consistent access policies to be enforced across distributed domains without requiring centralized control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If distributed file systems are used to improve scalability and access control, then system capacity increases, but support for simultaneous write operations by multiple nodes remains limited

Engineering Contradiction:
Improvesystem scalabilityVSAvoidsimultaneous write operation support
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically resolves write conflicts by evaluating ACL permissions at the time of each write operation. Multiple nodes can simultaneously write to different objects or even the same object if their write operations are permitted by their respective ACLs, enabling flexible concurrent write support that adapts to the specific access control policies of each domain.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of access control from static centralized permissions to dynamic domain-specific ACLs. This allows the system to support simultaneous writes by different nodes when their ACL permissions allow it, while maintaining data integrity through the structured ACL evaluation process.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If database systems are used for centralized storage coordination, then data management functions are comprehensive, but access efficiency becomes slow with orders of magnitude less efficiency compared to main memory

Engineering Contradiction:
Improvedata management functionVSAvoiddata access efficiency
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system segments the storage hierarchy into distributed file systems that can be mounted as local directories, allowing frequent access operations to be performed locally with main memory speeds. Database-like coordination functions are provided only when needed through standardized interfaces, maintaining both speed and comprehensive data management capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each domain in the distributed file system provides self-service access control through local ACL evaluation, eliminating the need for centralized database queries for every access operation. This enables main memory-speed access efficiency while maintaining comprehensive data management functions through the distributed ACL infrastructure.

Inventive Principle:
Principle #25Self-service

4Reliability

If application nodes are made independent without centralized control, then system fault tolerance improves, but ensuring atomic transactions and data integrity becomes more difficult

Engineering Contradiction:
Improvefault toleranceVSAvoidtransaction coordination mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses ACL permission checks as feedback mechanisms to ensure transaction atomicity and data integrity in distributed environments. Each access operation receives feedback from the ACL evaluation, which determines whether the operation should proceed, be blocked, or trigger a conflict resolution process, enabling independent nodes to maintain data integrity without centralized coordination.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP1909178B1Transactional shared memory system and method of control
Publication Date: 2015.04.08 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • EP1909178B1 patent drawingFigure 1
  • EP1909178B1 patent drawingFigure 2~3
  • EP1909178B1 patent drawingFigure 4

AI summary

A transactional shared memory system has a plurality of discrete application nodes (102); a plurality of discrete memory nodes (104); a network (106) interconnecting the application nodes (102) and the memory nodes (104), and a controller (108) for directing transactions in a distributed system utilizing the shared memory. The memory nodes (104) collectively provide an address space (202) of shared memory that is provided to the application nodes (102) via the network (106). The controller (108) has instructions to transfer a batched transaction instruction set (300) from an application node (102) to at least one memory node (104). This instruction set includes one or more write, compare and read instruction subsets (302), and/or combinations thereof. At least one subset (302) has a valid non null memory node identifier (306) and memory address range (308). The memory node identifier (306) may be indicated by the memory address range (308). The controller (108) controls the memory node (104) responsive to receipt of the batched transaction instruction set (300), to safeguard the associated memory address range (308) during execution of the transaction instruction set (300). The batched transaction instruction set (300) is collectively executed atomically. A notification instruction set (350) may also be used to establish a notification, triggered upon a subsequent write event upon at least a portion of a specified address range.