Automating MPI Program Migration for Efficient Computing Environment Utilization
The MPI Program Migration initiative at the University of Virginia focuses on automating the process of preparing computing environments for executing MPI applications across multiple sites. This project addresses the challenges associated with time-consuming manual setups, enabling users to efficiently utilize resources. Key developments include discovering application deployment information, automating the MPI stack configuration, and resolving software-related issues without recompilation. The project aims to enhance the efficiency of migration processes and establish techniques to predict resolution outcomes and address architecture-related challenges in the future.
Automating MPI Program Migration for Efficient Computing Environment Utilization
E N D
Presentation Transcript
Experiences with MPI Program Migration Karolina Sarnowska-Upton University of Virginia
Preparing Computing Environments to Execute Jobs • Learning to use new computing environments can be time consuming • Especially for MPI applications • Especially when using multiple sites • Automate process to • Free users from manual preparation • Enable more efficient use of resources
What to Automate? • Discovery of application information related to deployment: architecture, MPI type & version, shared object dependencies, C library version • Composing of site-specific instructions for application deployment: set MPI, resolve shared object dependencies, set execution paths
Current Developments • Discovery techniques – for Linux distributions • Resolution techniques • Identify problem • Set MPI stack configuration • Resolve software-related migration issues • Predict resolution success
Environment Test Set *decommissioned
Characterizing Migration Issues(without recompilation) • Configuration • Software-related • Architecture-related
Results: Testing Discovery Techniques Test Set: NAS Parallel benchmarks across 3 sites • Discovery techniques • Identify MPI stack (100%) • Resolution techniques • Setup MPI Stack in execution environment (100%)
Results: Resolving Software-Related Issues Test Set: NAS Parallel benchmarks across 5 sites • Discovery techniques • Identify software-related execution issues (100%) • Resolution techniques • Resolve* software-related execution issues (68%) • Predict resolution outcome (100%) *without recompilation
Future Work • Create additional techniques that: • Address architecture-related migration issues • Enable recompilation • Evaluate efficiency of techniques for various community codes • Characterize causes of issues and automation limitations
Conclusion “Civilization advances by extending the number of important operations which we can perform without thinking of them. ” Alfred North Whitehead