Parallel Partial Simulation for Hardware Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As data processing systems become increasingly complex, simulating target hardware before its availability poses a significant engineering challenge, requiring efficient methods to develop software and complementary hardware in advance while reducing the burden of creating a realistic simulation environment.
Innovation Solution
The method involves using a primary partial simulation and a complementary partial simulation running in parallel, each acquiring input data from different levels of abstraction to generate respective partial result state data, facilitating a more portable and accurate simulation by leveraging existing hardware implementations and abstraction in workload specification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a complete simulation of target hardware is created, then simulation accuracy is improved, but device complexity and engineering burden increase significantly
Solution Approach 1:
The patent divides the simulation system into multiple independent simulator components, each responsible for simulating specific hardware devices or subsystems. These simulators can be selectively activated based on the requirements of the software being tested, allowing high simulation accuracy for critical components while avoiding the complexity of simulating the entire hardware system.
Solution Approach 2:
The patent implements partial simulation by activating only the necessary simulator components required for the specific software testing scenario. Rather than providing a complete simulation of all target hardware, the system provides just enough simulation accuracy for the software under test, reducing overall system complexity while maintaining sufficient fidelity for validation purposes.
2Measurement precision
If simulation detail is increased to match real hardware behavior, then simulation accuracy is improved, but development time and engineering resources increase
Solution Approach 1:
The patent enables software development and testing to proceed in parallel with hardware development by providing simulation capabilities before the actual target hardware is available. Multiple simulators are prepared in advance, allowing software to be developed, tested, and validated against simulated hardware behavior, thereby eliminating delays associated with waiting for physical hardware availability.
Solution Approach 2:
The simulation system dynamically configures which simulators are activated based on the specific software testing requirements. The system can adaptively enable or disable simulation components depending on what is necessary for the current testing scenario, optimizing the balance between simulation accuracy and development efficiency without requiring a complete static simulation model.
3Reliability
If all hardware devices are simulated in detail, then comprehensive testing is improved, but ease of operation and system manageability deteriorate
Solution Approach 1:
The patent structures the simulation system as a collection of independent, modular simulator components that can be selectively activated. Each simulator handles specific hardware devices or subsystems, allowing the testing system to be easily configured and managed by activating only the simulators relevant to the software being tested, rather than managing a monolithic complete simulation system.
Solution Approach 2:
The simulation system provides universal testing capability through multiple specialized simulators that can be combined in different configurations. The same framework supports testing of various software components against different simulated hardware scenarios, enabling comprehensive testing across multiple device types while maintaining ease of operation through a unified management interface.
Data Source
AI summary
Simulation of execution of a processing workload by a target hardware device is provided by providing workload data specifying the processing workload, passing the workload data to both a primary partial simulation and a complementary partial simulation that run in parallel and acquire input data from different levels of abstraction of the target hardware and then simulating execution of the processing workload using a primary partial simulation to generate primary partial result state data and using the complementary partial simulation to generate complementary partial result state data. The target hardware device may be a graphics processing unit and the workload data may specify the processing to be performed in a hardware independent form, such as, for example, OpenGL ES. The host system supporting the simulation may include a graphics processing unit serving to provide the complementary partial simulation due to its own execution of the workload data.


