Fabric Shared Memory Atomic Operations via Software Protocol

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If hardware-based mechanisms are used to support atomic operations, then reliability is improved, but device complexity and cost increase

Engineering Contradiction:
Improveatomic operation guaranteeVSAvoidhardware component complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If message-based mechanisms are used to support atomic operations, then device complexity is reduced, but speed deteriorates

Engineering Contradiction:
Improvehardware component requirementVSAvoidatomic operation execution speed
Core Design Contradiction:
Device complexityVSSpeed

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvehardware implementation simplicityVSAvoidmessaging framework complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10929293B2Atomic operations for fabric shared memories
Publication Date: 2021.02.23 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10929293B2 patent drawing
  • US10929293B2 patent drawing
  • US10929293B2 patent drawing

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.