Transaction Management for Multi-Node Clusters via Tagged Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High availability clusters face challenges in scaling and maintaining fault tolerance due to the complexity and cost of shared memory solutions, which can lead to inefficient resource usage and increased latency.
Innovation Solution
A transaction management system for multi-node clusters that utilizes pre-allocated memory blocks with requested and serviced tags to facilitate zero-copy operations and node recovery, allowing for efficient data management and fault tolerance without the need for extensive shared memory infrastructure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If shared memory solutions are used to provide high availability and fault tolerance in multi-node clusters, then system reliability is improved, but device complexity and resource overhead increase
Solution Approach 1:
The patent extracts the complex shared memory infrastructure from the system and replaces it with independent memory blocks on each node. Each node maintains its own memory blocks with tags indicating data ownership and service status, eliminating the need for centralized shared memory while preserving fault tolerance capabilities.
Solution Approach 2:
The patent implements data duplication across nodes through memory blocks with ownership tags. When data is stored on one node, a copy is maintained on other nodes with appropriate ownership and service tags, enabling fault tolerance without requiring complex shared memory structures. The copying mechanism allows any node to serve data requests if the original owner node fails.
2Reliability
If redundancy is implemented across multiple nodes to provide high availability, then system reliability is improved, but latency and resource usage increase
Solution Approach 1:
The patent pre-allocates memory blocks on each node and establishes ownership and service relationships before data operations are needed. Tags are pre-configured to indicate which nodes own data and which nodes can service requests, eliminating the need for dynamic lookup or coordination during data operations. This preliminary setup reduces latency while maintaining availability through redundancy.
Solution Approach 2:
Each node independently manages its own memory blocks and can autonomously service data requests based on pre-configured tags. When a node needs data, it checks local memory blocks first, and if not found, queries other nodes using the tag-based system. This self-service approach eliminates centralized coordination overhead and reduces latency compared to traditional shared memory architectures.
3Productivity
If extensive shared memory infrastructure is deployed to enable zero-copy operations, then data access efficiency is improved, but cost and complexity increase
Solution Approach 1:
The patent removes the extensive shared memory infrastructure requirement and implements zero-copy operations through a simplified tag-based system. Each node has independent memory blocks with tags that indicate data ownership and service status, allowing efficient data access without physical data movement while eliminating the need for complex shared memory hardware or software structures.
Solution Approach 2:
The patent introduces tags as intermediaries between data storage and data access. Instead of requiring shared memory infrastructure to enable direct data access, the system uses tags on memory blocks to mediate data location and ownership information. This intermediary mechanism enables efficient data access across nodes without the overhead of shared memory, as nodes can quickly determine data location and ownership through tag checking rather than complex memory arbitration.
Data Source
AI summary
Examples include transaction management for a multi-node cluster. Some examples include generating a request log entry at an owner node that identifies a duplicate data location, tagging the duplicate data location with a requested tag, and issuing a zero-copy request that identifies the duplicate data location. In some such examples, a service node may generate a service log entry based on the zero-copy request that identifies the duplicate data location, process the zero-copy request, and tag the duplicate data location with a serviced tag. A determination may be made as to whether at least one of the owner node and the service node have failed and based on the determination that at least one has failed, the failed node may be recovered via at least one of the requested tag and the serviced tag of the duplicate data location.


