MPI Program Transformation for Memory-Centric Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing MPI parallel programs developed for high performance computers with distributed memory architecture are inefficient when executed on memory centric computers due to the limitations of communication networks, which hinder performance improvement.

Innovation Solution

A method and apparatus for transforming MPI parallel programs by parsing MPI functions to create network functions for communication and bus line commands for direct memory access, allowing data to be directly accessed and shared between computers, utilizing an absolute address transporter and helper functions to optimize message passing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If MPI parallel programs are executed on memory centric computers using communication networks, then program compatibility is maintained, but execution speed deteriorates due to network limitations

Engineering Contradiction:
Improveprogram compatibilityVSAvoidexecution speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent introduces a transformation apparatus as an intermediary that converts MPI programs into optimized forms for memory centric computers. This mediator translates the original communication network-based MPI code into code that utilizes direct memory access through bus lines, thereby maintaining program compatibility while dramatically improving execution speed by eliminating network bottlenecks

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The invention changes the fundamental parameter of data transmission from network-based communication to direct memory bus access. By transforming the execution environment from network-centric to memory-centric, the system achieves faster data access speeds while maintaining the original program's logical functionality through automated code transformation

Inventive Principle:
Principle #35Parameter changes

2Speed

If direct memory access through bus lines is implemented, then data access speed is improved, but system complexity increases due to additional transformation requirements

Engineering Contradiction:
Improvedata access speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The transformation apparatus performs preliminary conversion of MPI programs before execution on memory centric computers. By pre-transforming the code to utilize direct memory access patterns, the system achieves fast data access speeds while hiding the complexity of the transformation process from the end user, as the conversion is automatically handled before runtime

Inventive Principle:
Principle #10Preliminary action

3Productivity

If MPI functions are transformed into network functions and bus line commands, then performance is improved, but transformation complexity increases

Engineering Contradiction:
ImproveperformanceVSAvoidtransformation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The transformation apparatus automatically analyzes and transforms MPI functions into optimized network and bus line commands without requiring manual intervention. The system self-services the transformation process by identifying MPI communication patterns and automatically generating the corresponding optimized code, thereby improving performance while managing transformation complexity through automation rather than manual processes

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10963323B2Method and apparatus for transformation of MPI programs for memory centric computers
Publication Date: 2021.03.30 SANGMYUNG UNIV IND ACAD COOP FOUND
  • US10963323B2 patent drawing
  • US10963323B2 patent drawing
  • US10963323B2 patent drawing

AI summary

According to a method of transforming a message passing interface (MPI) program, an MPI function is parsed such that a computer may directly access data created by another computer through a memory when an MPI parallel program is executed on a computer system for distributed processing, a network function corresponding to the MPI function is created for network communication, and a bus line function is created for directly accessing the memory through a bus line.