Hardware Software Selection System for Optimal Platform Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The complexity of choosing optimal digital hardware and software combinations for software applications is hindered by numerous processor architectures, integration limitations, and variability in system software, leading to sub-optimal solutions due to manual, labor-intensive porting and validation processes.
Innovation Solution
A system and method that uses a database to aggregate information on various hardware and software options, allowing users to select based on constraints and run performance benchmarks in prototype devices under environmental conditions, thereby optimizing hardware and software selection efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual porting and validation processes are used for hardware and software selection, then comprehensive testing can be performed, but the process becomes labor-intensive and time-consuming
Solution Approach 1:
The patent creates virtual copies of hardware platforms through virtualization technology, allowing software to be tested on multiple hardware configurations simultaneously without physical manual testing. This enables comprehensive system-level verification while dramatically reducing the time and labor required, as virtual instances can be deployed and tested in parallel across different hardware-software combinations.
Solution Approach 2:
The patent develops a universal testing framework that can evaluate multiple hardware platforms and software configurations through a single integrated system. This multi-functional approach allows the same testing infrastructure to validate diverse processor architectures, operating systems, and application software, eliminating the need for separate manual testing processes for each combination.
2Productivity
If exhaustive testing of all hardware and software combinations is performed, then optimal selection can be achieved, but the complexity and resource requirements increase significantly
Solution Approach 1:
The patent segments the exhaustive testing process into hierarchical levels: first testing individual software components on virtual hardware, then integrating results progressively to evaluate complete system configurations. This segmentation allows comprehensive optimization to be achieved through manageable, modular testing stages rather than attempting to test all combinations simultaneously, reducing overall system complexity while maintaining thoroughness.
3Adaptability or versatility
If multiple processor architectures and auxiliary processors are supported, then versatility is improved, but the difficulty of integration and programming increases
Solution Approach 1:
The patent introduces an intermediary abstraction layer that sits between the diverse processor architectures and the application software. This intermediary layer provides standardized interfaces and translation mechanisms, allowing software to be tested and deployed across multiple processor types (CPU, GPU, DSP, FPGA) without requiring separate integration and programming efforts for each architecture, thus maintaining versatility while reducing complexity.
Data Source
AI summary
A system, method and apparatus for choosing a digital processing platform that is optimal for a specified type of application and satisfies a set of user-specified constraints is provided. In operation, all known parameters on all available processing platforms in a database are stored, providing this information to a computer software application run by the user by querying the database, and then allowing a remote user to specify the constraints, in terms of hardware and system software, to eliminate those entries that would not satisfy the constraints in a step-by-step filtering process. The user then chooses a set of application programs to run on the platforms that were not eliminated. The runtime performance parameters/characteristics—e.g. computational throughput, I/O bandwidth, environmental parameters, etc. are measured to select the optimal solution. The system and method also allows for a regression test to ensure consistency between test software processes running on discrete platforms.


