Cloud-Native HPC Code Generation Through API Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for running large-scale data-parallel applications in the cloud face challenges such as high cost, low resilience, and increased management overhead due to the need for manual re-design and re-implementation using complex software development kits, making them infeasible for research and development purposes.

Innovation Solution

A framework that extends high-level languages like Python or Julia to cloud services using a software abstraction layer, allowing users to offload computations to cloud-native environments with minimal code modifications through remote procedure calls and automatic translation of remote function calls to cloud APIs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are run on on-demand cloud clusters with IaaS resources, then cloud-native execution is achieved, but cost increases and management overhead increases

Engineering Contradiction:
Improvecloud-native execution capabilityVSAvoidmanagement overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a translation layer that acts as an intermediary between MPI-based applications and cloud-native execution environments. This translation layer automatically converts MPI communication patterns into cloud-compatible patterns, eliminating the need for users to manually redesign applications and significantly reducing management overhead while maintaining cloud-native execution capabilities

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal execution framework that can handle both traditional MPI-based applications and cloud-native applications through a single interface. This multi-functional system supports multiple cloud providers and execution models, reducing the need for separate management systems and lowering overall complexity

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

2Productivity

If MPI-based applications are deployed to on-demand clusters, then application execution is enabled, but resilience is reduced because applications cannot take advantage of cloud platform resilience

Engineering Contradiction:
Improveapplication execution capabilityVSAvoidresilience
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The translation layer serves as a mediator that intercepts MPI communication calls and translates them into cloud-native patterns that leverage cloud platform resilience features. This allows existing MPI applications to automatically benefit from cloud resilience without requiring application-level changes

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes execution parameters and communication patterns based on the target cloud environment, transforming rigid MPI communication sequences into flexible cloud-native patterns that can adapt to platform failures and recover automatically, thereby improving resilience

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If applications synchronize at certain times during execution, then computational updates are broadcast to all worker nodes, but computational resources sit temporarily idle leading to increased cost

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidresource idle time
Core Design Contradiction:
Manufacturing precisionVSLoss of energy

Solution Approach 1:

The patent transforms continuous synchronization into periodic, event-driven synchronization patterns that align with cloud auto-scaling events. Instead of synchronous barriers that idle resources, the system uses asynchronous event notifications to trigger computations only when resources are available, eliminating idle time while maintaining synchronization accuracy

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system introduces dynamic synchronization that adapts to real-time resource availability rather than following fixed synchronization schedules. This dynamic approach allows worker nodes to proceed independently when possible and synchronize only when necessary, maximizing resource utilization and reducing idle time

Inventive Principle:
Principle #15Dynamics

4Loss of energy

If serverless and semi-serverless approaches are used, then cost is reduced and scalability is improved, but applications require fundamental re-design and re-implementation using multiple complex SDKs

Engineering Contradiction:
Improvecost efficiencyVSAvoidsoftware development complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The translation layer acts as an intermediary that shields developers from the complexity of multiple cloud SDKs by providing a unified MPI-based interface. It automatically handles the translation to various cloud-native patterns and SDK calls, allowing developers to achieve cost-efficient serverless execution without directly dealing with complex SDKs or fundamental application redesign

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12411668B2Code generation tool for cloud-native high-performance computing
Publication Date: 2025.09.09 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12411668B2 patent drawing
  • US12411668B2 patent drawing
  • US12411668B2 patent drawing

AI summary

Methods, storage media, and systems for translating a software expression from a user application programming interface (API) call to an API call of a software development kit (SDK) are disclosed. Some examples may include: receiving a tagged expression indicating that a translation of the software expression from a user API call to an API call of an SDK is to be performed, the SDK being associated with a cloud-native high-performance computing environment, processing an abstract syntax tree associated with the software expression, the processing including replacing symbols in the abstract syntax tree with respective variables, replacing a return statement in the abstract syntax tree with a serialization instruction to write a result to local storage, and serializing the processed abstract syntax tree and providing the serialized abstract syntax tree and one or more resource files to the cloud-native high-performance computing environment for execution.