Multithreaded Program Parameter Optimization via Piecewise-Rational Functions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for optimizing program parameters in multithreaded programming are limited by the need for new models for each unique workload or hardware configuration, require manual tuning, and fail to model the holistic relationship between program, data, and hardware parameters effectively, relying on extensive low-level metric consideration or specific training data.
Innovation Solution
Generating low-level and high-level metric functions that calculate respective metrics, allowing for the determination of program parameter values that optimize high-level metrics, such as execution time and hardware occupancy, across various hardware configurations without the need for input training data, using piecewise-rational functions and symbolic hardware parameter values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If new models are generated for each unique workload or hardware configuration, then optimization accuracy is improved, but device complexity and time consumption increase
Solution Approach 1:
The patent creates a universal model generation system that can handle multiple workload types and hardware configurations through a single framework. The system uses standardized templates and parameter mappings that work across different scenarios, eliminating the need to create entirely new models for each case while maintaining optimization accuracy.
Solution Approach 2:
The system optimizes performance by dynamically adjusting program parameters based on hardware characteristics and workload properties. Instead of generating new models, it modifies existing parameter values (such as thread counts, block sizes, and memory allocation) to achieve optimal performance across different configurations.
2Adaptability or versatility
If manual tuning interfaces are provided for user adjustment, then adaptability is improved, but ease of operation deteriorates due to requiring expert knowledge
Solution Approach 1:
The system performs automatic model generation and parameter optimization without requiring user intervention. It self-adjusts program parameters by analyzing hardware characteristics and workload properties, eliminating the need for manual tuning while maintaining adaptability to different configurations.
Solution Approach 2:
The system uses performance feedback from execution to automatically refine parameter selections. By monitoring actual performance metrics and comparing them against predicted values, the system iteratively improves parameter choices without requiring user expertise or manual adjustment.
3Measurement precision
If exhaustive consideration of low-level metrics is performed, then measurement precision is improved, but productivity decreases due to large computational requirements
Solution Approach 1:
The system extracts only the most relevant low-level metrics needed for optimization, rather than analyzing all possible metrics exhaustively. It identifies and focuses on critical performance indicators that have the greatest impact on overall system performance, reducing computational overhead while maintaining measurement precision.
Solution Approach 2:
The optimization process is divided into distinct stages, each analyzing specific subsets of metrics. The system segments the complex optimization problem into manageable parts, analyzing different metric groups at appropriate levels of detail to balance precision and computational efficiency.
4Measurement precision
If precise input training data is required, then optimization accuracy is improved, but loss of information increases when dealing with sensitive data
Solution Approach 1:
The system uses synthetic or representative data copies instead of actual sensitive training data. It creates artificial workloads that replicate the statistical properties and performance characteristics of real data without containing the actual sensitive information, maintaining optimization precision while protecting data confidentiality.
Data Source
AI summary
Optimizing program parameters in multithreaded programming may include: generating, for a program, a plurality of low-level metric functions, each of the low-level metric functions calculating a respective low-level metric of a plurality of low-level metrics; generating one or more high-level metric functions for one or more high-level metrics, each of the one or more high-level metric functions comprising a piecewise-rational function based on one or more of the low-level metric functions; and generate, based on the one or more high level-metric functions, one or more data parameter values and one or more hardware parameter values, one or more program parameter values for executing the program, wherein the one or more program parameter values are configured to optimize the one or more high-level metrics.


