Parallel Simulation Execution Architecture Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large-scale parallel physics simulations face challenges in determining the optimal number of processing elements for maximum speedup due to inefficiencies in cluster resource utilization, particularly in public cloud computing, where existing methods fail to account for spatial heterogeneity and require extensive training data.
Innovation Solution
A machine learning-based approach that extracts features from simulation designs, uses these features to predict execution times, and determines an optimal execution architecture by factoring computation and communication times, allowing for load-balanced distribution of simulation work across processing elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Volume of moving object
If distributed-memory framework with MPI is used to enable execution on clusters, then simulation capability scales to large problems, but determining optimal number of processing elements becomes complex and resource utilization efficiency deteriorates
Solution Approach 1:
The patent transforms the discrete optimization problem of selecting the number of processing elements into a continuous parameter optimization problem. By formulating the objective function in terms of computational efficiency and communication overhead as continuous parameters, standard optimization algorithms can be applied to find the optimal configuration automatically, resolving the complexity of determining the optimal number of processing elements.
Solution Approach 2:
The patent introduces an intermediary optimization layer between the simulation code and the hardware configuration. This intermediary component analyzes the simulation workload characteristics and automatically determines the optimal number of processing elements by evaluating the trade-off between computational efficiency and communication overhead, eliminating the need for manual trial-and-error configuration.
2Loss of time
If more processing elements are allocated to achieve maximum speedup, then simulation execution time decreases, but resource utilization efficiency deteriorates due to inefficiencies in cluster resource utilization
Solution Approach 1:
The patent implements a feedback mechanism where the optimization algorithm continuously evaluates the actual performance metrics (execution time, communication overhead, computational efficiency) and adjusts the number of processing elements accordingly. This closed-loop approach ensures that the system operates at the optimal point where execution time is minimized while resource utilization remains efficient, preventing both under-provisioning and over-provisioning of computational resources.
3Measurement precision
If analytical models with fine-grained software instrumentation are used to predict code performance, then prediction accuracy improves, but application to large evolving codebases becomes challenging
Solution Approach 1:
The patent extracts only the essential features and parameters needed for performance prediction from the simulation code, rather than requiring comprehensive fine-grained instrumentation of the entire codebase. By focusing on key metrics such as computational efficiency and communication overhead, the model achieves accurate predictions while remaining easily applicable to large, evolving codebases without requiring extensive code modifications or instrumentation.
Data Source
AI summary
In some embodiments, a method for optimal parallel execution of a simulation of a design is provided. A computing device extracts one or more features from the design. The computing device provides at least the one or more features as inputs to one or more machine learning models to determine one or more predictions of execution times. The computing device determines an optimum execution architecture based on the one or more predictions of execution times. The computing device distributes portions of the design for simulation based on the optimum execution architecture. In some embodiments, one or more machine learning models are trained to generate outputs for predicting an optimal parallel execution architecture for simulation of a design.


