Transactional Shared Memory Atomicity via Batched Instructions
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
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
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.
Data Source
Figure 1
Figure 2~3
Figure 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.