Cloud MPI Translation Layer for Parallel Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing environments face challenges in adopting traditional parallel programming skills due to proprietary nature and unique language constructs, limiting their viability as a replacement for traditional computing environments, especially in handling network capabilities and resource management.

Innovation Solution

A cloud-based message passing interface (MPI) is developed, mimicking traditional cluster resource organization, with a terminal-based interactive shell for easy configuration and translation of MPI libraries to cloud-compatible formats, enabling seamless execution of parallel computing operations across virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional MPI libraries are used in cloud computing environments, then parallel computing performance is maintained, but compatibility with proprietary cloud platforms and language constructs is poor

Engineering Contradiction:
Improveparallel computing performanceVSAvoidcompatibility with cloud platforms
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a translation layer that acts as an intermediary between traditional MPI libraries and cloud computing platforms. This translation layer converts MPI function calls into cloud-compatible operations, enabling traditional parallel applications to run on proprietary cloud platforms without modification. The intermediary resolves the incompatibility by mediating between the two different computational paradigms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the interface parameters and function signatures of MPI libraries to match cloud platform requirements. By changing the parameters from traditional MPI formats to cloud-compatible formats (such as converting point-to-point communication to message queue operations), the system maintains parallel computing performance while adapting to proprietary cloud environments.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If cloud computing environments adopt proprietary language constructs, then platform optimization is improved, but ease of use for traditional parallel programming is reduced

Engineering Contradiction:
Improveplatform optimizationVSAvoidease of use for parallel programming
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent creates a universal interface layer that supports both traditional MPI programming models and cloud-specific optimizations simultaneously. This multi-functional translation layer allows developers to write code using familiar MPI constructs while the system automatically optimizes for the underlying cloud platform, eliminating the need to choose between ease of use and platform optimization.

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

Solution Approach 2:

The translation layer automatically performs the complex task of converting traditional MPI code to cloud-optimized code without requiring developer intervention. The system self-adapts by detecting MPI function calls and automatically translating them into platform-specific operations, making the optimization process transparent to the user while maintaining ease of programming.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If traditional cluster resource organization is replicated in cloud environments, then MPI application compatibility is improved, but cloud-specific resource management efficiency is reduced

Engineering Contradiction:
ImproveMPI application compatibilityVSAvoidcloud resource management efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements a dynamic translation mechanism that adapts the resource organization model based on the specific cloud platform being used. Rather than statically replicating traditional cluster organization, the system dynamically adjusts the translation strategy to leverage cloud-specific features such as virtualization, distributed storage, and elastic scaling, thereby maintaining compatibility while improving efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces an additional abstraction dimension between the MPI application layer and the cloud infrastructure. This extra layer enables the system to maintain the logical structure familiar to MPI applications while physically utilizing cloud-specific resource management mechanisms, effectively adding a dimension of indirection that resolves the conflict between compatibility and efficiency.

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

Data Source

PatentUS10235223B2High-performance computing framework for cloud computing environments
Publication Date: 2019.03.19 GEORGIA STATE UNIVERSITY RESEARCH FOUNDATION INC
  • US10235223B2 patent drawing
  • US10235223B2 patent drawing
  • US10235223B2 patent drawing

AI summary

Disclosed are various embodiments for a high-performance computing framework for cloud computing environments. A parallel computing application executable by at least one computing device of the cloud computing environment can call a message passing interface (MPI) to cause a first one of a plurality of virtual machines (VMs) of a cloud computing environment to store a message in a queue storage of the cloud computing environment, wherein a second one of the plurality of virtual machines (VMs) is configured to poll the queue storage of the cloud computing environment to access the message and perform a processing of data associated with the message. The parallel computing application can call the message passing interface (MPI) to access a result of the processing of the data from the queue storage, the result of the processing being placed in the queue storage by the second one of the plurality of virtual machines (VMs).