MPI Program Transformation for Memory-Centric Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
3Productivity
If MPI functions are transformed into network functions and bus line commands, then performance is improved, but transformation complexity increases
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
Data Source
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.


