Multi-tiered Coarray Programming for HPC Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current compute infrastructure for High Performance Computing (HPC) and enterprise environments differ significantly, making it challenging to deploy HPC applications in multi-tiered enterprise storage environments, where interdependent parallel processes require efficient inter-process communication and memory sharing.

Innovation Solution

The development of multi-tiered coarray programming techniques that extend the Coarray Fortran model to include indices for storage tiers, allowing for memory element access through path names, object names, or key values, and employing file or object interfaces for remote storage tiers, using MPI communications and libraries to support multi-tiered storage architectures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If HPC applications are deployed in multi-tiered enterprise storage environments, then storage capacity and cost-efficiency are improved, but access speed and performance deteriorate due to the inherent latency of remote storage tiers

Engineering Contradiction:
Improvestorage capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent segments the storage access model by introducing storage tier indices into the coarray addressing system. This allows different portions of the memory array to be mapped to different storage tiers (e.g., tier 0 for local memory, tier 1 for remote storage), enabling selective access patterns that balance capacity and speed requirements across different data elements

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the coarray addressing system by incorporating storage tier indices. The traditional one-dimensional or two-dimensional array indices are extended to include a tier dimension, creating a multi-dimensional addressing space that can map logical array elements to physical locations across multiple storage tiers with different performance characteristics

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

2Adaptability or versatility

If coarray Fortran is extended to support multi-tiered storage, then adaptability to enterprise storage environments is improved, but programming model complexity increases

Engineering Contradiction:
Improveadaptability to enterprise storageVSAvoidprogramming model complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal coarray programming model that can operate across multiple storage tiers. The extended coarray syntax and indexing mechanism provide a unified interface that works for both traditional shared-memory HPC systems and multi-tiered enterprise storage environments, eliminating the need for separate programming models for different storage architectures

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

Solution Approach 2:

The patent introduces an intermediary layer in the form of extended coarray indexing and a software function that translates logical coarray accesses into physical storage tier accesses. This intermediary handles the complexity of multi-tiered storage mapping, allowing programmers to use simplified coarray syntax while the system manages the underlying storage complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9501229B1Multi-tiered coarray programming
Publication Date: 2016.11.22 DELL EMC
  • US9501229B1 patent drawing
  • US9501229B1 patent drawing
  • US9501229B1 patent drawing

AI summary

Techniques are provided for multi-tiered coarray programming. An exemplary coarray programming method comprises obtaining an index address identifying a memory element in a memory array in a multi-tiered storage environment, wherein the index address comprises an identifier of a storage tier within the multi-tiered storage environment where the memory element is stored; and converting the index address to one or more of a path name, an object name and a key value based on the identified storage tier to access the memory element. Exemplary aspects of the invention extend a coarray programming model to employ one or more of a file interface and an object interface for remote storage tiers.