Ranking Computing Resources via Historical Performance Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Users face challenges in selecting the optimal computing resource configuration for their applications in distributed computing environments, due to the complexity and time-consuming nature of evaluating various options.
Innovation Solution
A system and method for ranking computing resources based on historical performance data, where user applications are matched with similar past applications to determine the most impactful performance factors, and these factors are used to rank available computing systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If users manually evaluate various computing resource configurations to find the optimal setup, then they can select the best configuration for their application, but the process becomes complex and time-consuming
Solution Approach 1:
The system performs preliminary actions by pre-executing applications on multiple computing resource configurations and storing performance results in a database before users need to make selections. This advance preparation eliminates the need for users to manually evaluate configurations, providing ready-to-use performance data for immediate comparison and selection.
Solution Approach 2:
The system creates copies of performance data by executing applications on various computing resource configurations and storing these results in a database. Users can then query and compare these pre-collected performance copies without needing to perform actual evaluations, significantly reducing selection time while maintaining accuracy.
2Adaptability or versatility
If users manually configure computing systems with multiple options for CPUs, GPUs, and other resources, then they can customize the system to their needs, but the setup process becomes difficult and time-consuming
Solution Approach 1:
The system performs self-service by automatically executing applications on multiple computing resource configurations, collecting performance data, and making it available in a database. This eliminates the need for users to manually configure and test each option, allowing them to easily query and select from pre-evaluated configurations while maintaining full adaptability.
Solution Approach 2:
The database serves multiple functions by storing performance data from various application executions across different computing configurations. This universal database can be queried for any application type, providing versatile support for different user needs while simplifying the selection process through a single centralized resource.
3Loss of information
If the system executes applications on all possible computing system configurations to gather performance data, then complete performance information is available for ranking, but the time and resources required for testing increase significantly
Solution Approach 1:
The system applies partial action by executing applications on a representative subset of computing configurations rather than all possible configurations. The performance database stores results from these selective executions, providing sufficient information for effective ranking without the excessive time and resource costs of complete enumeration.
Solution Approach 2:
The system performs preliminary execution of applications on selected configurations and stores performance data in advance. This preliminary action creates a ready-to-query database that provides complete enough information for accurate ranking without requiring exhaustive testing of every possible configuration combination.
Data Source
AI summary
A system and method for ranking computing resources in a distributed computing marketplace is disclosed. Ranking may be based on the performance factors that the system predicts will have the greatest impact on the particular application the user plans to run. A performance database stores historical performance data for applications that have been executed on multiple different computer systems. The database is checked to see if the application, or one similar, has already been run on any of the computing systems participating in the distributed computing marketplace. If so, the existing performance data is used to predict which performance factors will have the greatest impact on the application. Those factors are then used to rank the available computing systems options for the user.


