Parallel Performance Profiling for Adaptive Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Parallel processing systems lack the ability to predict performance for varying numbers of processing elements, making it difficult to select optimal performance and charge accordingly for applications.
Innovation Solution
A method and system for determining a parallel performance profile by recording execution times for a parallel processing algorithm using increasing numbers of processing elements, assessing performance predictability, and calculating pricing based on execution times and errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the number of processing elements is fixed at compile time, then the parallel processing system is simple to implement, but the system cannot adapt to different performance requirements and cannot charge directly for performance
Solution Approach 1:
The system performs preliminary profiling of parallel algorithms to determine performance characteristics before actual execution. By pre-characterizing algorithms through automated profiling, the system builds performance prediction models that enable adaptive resource allocation without adding complexity to the core processing system
Solution Approach 2:
The system creates virtual performance profiles and pricing models as copies of actual algorithm behavior. These profiles serve as abstract representations that enable performance prediction and billing calculations without requiring complex real-time analysis during execution
2Measurement precision
If CPU Hours are used as the selection criteria, then the system can charge for processing time, but it cannot indicate or predict performance for applications with varying processing elements
Solution Approach 1:
The system implements feedback loops where automated profilers measure actual algorithm performance with different numbers of processing elements, and this feedback is used to build prediction models. These models then enable the system to predict performance for future executions, allowing precise performance indication without sacrificing productivity
Solution Approach 2:
The system changes the parameter used for billing from simple CPU Hours to performance-based pricing that incorporates predicted execution time and processing element count. This allows the system to charge for actual performance delivered rather than just time consumed, enabling both prediction accuracy and productivity optimization
3Extent of automation
If automated profiling is performed to determine performance predictability, then performance can be predicted and charged accurately, but the profiling process adds complexity to the system
Solution Approach 1:
The profiling system performs self-service by automatically executing algorithms with varying numbers of processing elements and collecting performance data without requiring manual intervention. The system autonomously builds performance models and generates pricing information, enabling high automation while keeping the profiling mechanism itself relatively simple through standardized automated procedures
Data Source
AI summary
An automatic profiling system and method determines an algorithm profile including performance predictability and pricing of a parallel processing algorithm.


