Fabric Shared Memory Atomic Operations via Software Protocol
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in efficiently supporting atomic operations in distributed systems with shared memory, as hardware-based solutions are costly and complex, while message-based mechanisms can be slow and intricate.
Innovation Solution
A cache-aligned data structure is allocated in fabric shared memory, allowing atomic operations to be requested and results returned, with a master process managing the target variable and participating processes performing operations independently without the need for hardware support or complex messaging.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware-based mechanisms are used to support atomic operations, then reliability is improved, but device complexity and cost increase
Solution Approach 1:
The patent replaces hardware-based atomic operation mechanisms with a software-based message-passing protocol. Instead of using specialized hardware components to guarantee atomicity, the system uses message-based communication between processes to achieve the same reliability through coordinated software protocols.
Solution Approach 2:
The patent introduces message buffers and intermediary communication mechanisms between processes. These intermediaries facilitate atomic operations by mediating the interaction between participating processes and the master process, ensuring that operations appear atomic without requiring direct hardware support.
2Device complexity
If message-based mechanisms are used to support atomic operations, then device complexity is reduced, but speed deteriorates
Solution Approach 1:
The patent segments the atomic operation protocol into distinct message phases (request phase, execution phase, response phase). This segmentation allows for optimized message handling and parallel processing of non-critical operations, improving overall speed while maintaining the message-based approach.
Solution Approach 2:
The patent implements preliminary actions such as pre-allocated message buffers and pre-established communication channels. By preparing communication infrastructure in advance, the system reduces overhead during actual atomic operations, thereby improving execution speed without requiring hardware acceleration.
3Ease of manufacture
If message-based mechanisms are used to support atomic operations, then ease of manufacture is improved, but device complexity increases due to messaging framework
Solution Approach 1:
The patent designs a universal message-passing framework that handles multiple types of operations (read, write, compare-and-swap, etc.) through a single standardized interface. This multi-functional approach reduces the need for operation-specific messaging code, simplifying the overall framework while maintaining ease of manufacture.
Solution Approach 2:
The patent uses parameter-based configuration to adapt the messaging framework to different atomic operation types. By changing message parameters rather than creating separate messaging protocols for each operation, the system reduces framework complexity while maintaining manufacturing simplicity.
Data Source
AI summary
A system includes a plurality of processes, a network fabric, and a shared memory accessible by the plurality of processes over the network fabric, the shared memory to store a plurality of elements of a data structure. A first process is designated as being allowed to update a target variable stored in the shared memory, and a second process of the plurality of processes writes a request for an atomic operation to a first region in the shared memory. The first process is responsive to the request to perform the atomic operation that updates the target variable, and write a result including a value of the updated target variable to a second region in the shared memory, the second region readable by the second process, the request and the result being elements of the data structure.


