Fabric-Attached Memory for MPI One-Sided Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-Performance Computing (HPC) applications using Message Passing Interface (MPI) face performance bottlenecks due to heavyweight two-sided messaging models and memory constraints, limiting data handling capacity and flexibility in data sharing and synchronization across compute nodes.

Innovation Solution

Implementing a Fabric-Attached Memory (FAM) system that provides a shared pool of memory accessible over a network fabric, enabling MPI applications to leverage OpenFAM API for one-sided communication, allowing compute nodes to access a larger memory capacity and reducing mediation overheads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If two-sided messaging model is used for communication, then synchronization and data exchange between compute nodes are achieved, but mediation overheads and performance bottlenecks increase significantly

Engineering Contradiction:
ImprovesynchronizationVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the mediation function from the communication model by introducing a fabric manager that handles memory management and data exchange automatically. This removes the need for complex two-sided messaging synchronization overheads while maintaining reliable data sharing between compute nodes through the fabric-attached memory system.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The fabric manager acts as an intermediary between compute nodes, managing memory allocation, data movement, and synchronization automatically. This mediator eliminates the need for direct complex coordination between processes, reducing mediation overheads while ensuring reliable communication through the fabric-attached memory abstraction layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If compute nodes use local memory only, then data access is fast, but memory capacity is limited and cannot support larger datasets

Engineering Contradiction:
Improvedata access speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent adds a new dimension to memory architecture by introducing fabric-attached memory that extends beyond local node memory. This creates a hierarchical memory system where compute nodes can access both fast local memory and大容量 fabric-attached memory, effectively increasing total memory capacity while maintaining fast access speeds through the fabric network.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The fabric-attached memory system provides multi-functionality by serving both as an extension of local memory for capacity and as a shared memory resource for coordination. The system can be accessed by multiple compute nodes through the fabric network, enabling both high-speed local access and large-scale shared memory capabilities simultaneously.

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

3Device complexity

If compute nodes are constrained by host memory limits, then system simplicity is maintained, but flexibility in data sharing and load balancing is reduced

Engineering Contradiction:
Improvesystem simplicityVSAvoidflexibility in data sharing
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments memory into local node memory and fabric-attached memory, allowing compute nodes to independently manage their local memory while accessing shared fabric memory as needed. This segmentation provides flexibility in data sharing strategies and load balancing without complicating individual node management, as each node maintains simple local memory access patterns while utilizing the fabric for extended capacity.

Inventive Principle:
Principle #1Segmentation

4Productivity

If one-sided communication model is used, then mediation overheads are reduced, but data handling capacity is limited by host memory availability

Engineering Contradiction:
Improvemediation overhead reductionVSAvoiddata handling capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extends the data handling capacity dimension by introducing fabric-attached memory that is accessible through the fabric network rather than being constrained to host memory. This allows one-sided communication to leverage the large capacity of fabric memory while maintaining the low overhead benefits of one-sided communication, as the fabric manager handles the complexity of data movement and capacity management automatically.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12443525B2Fabric-attached memory for applications using message passing procedure
Publication Date: 2025.10.14 HEWLETT PACKARD ENTERPRISE DEV LP
  • US12443525B2 patent drawing
  • US12443525B2 patent drawing
  • US12443525B2 patent drawing

AI summary

Some examples relate to providing a fabric-attached memory (FAM) for applications using message passing procedure. In an example, a remotely accessible memory creation function of a message passing procedure is modified to include a reference to a region of memory in a FAM. A remotely accessible memory data structure representing a remotely accessible memory is created through the remotely accessible memory creation function. When an application calls a message passing function of the message passing procedure, a determination is made whether the remotely accessible memory data structure in the message passing function includes a reference to the region of memory in the FAM. In response to a determination that the remotely accessible memory data structure includes a reference to the region of memory in the FAM, the message passing function call is routed to a FAM message passing function corresponding to the message passing function.