Workload Model Generation from Execution Traces
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Accurate performance analysis of hardware systems, such as SoCs, is often delayed due to the absence of software during the design cycle, making it challenging to test hardware performance effectively.
Innovation Solution
Generating a workload model from software execution traces allows for the analysis of target platform performance without the need for available software, using task graphs that represent software tasks and their dependencies, along with workload parameters like processing cycles and memory access patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If software execution traces are used to generate workload models, then performance analysis can be performed earlier in the design cycle, but the complexity of creating accurate workload models increases
Solution Approach 1:
The patent applies preliminary action by collecting software execution traces during the software development phase on reference hardware, before the target hardware is finalized. This allows workload characteristics to be captured and modeled in advance, enabling performance analysis to occur earlier in the design cycle without waiting for complete software availability on the target platform.
Solution Approach 2:
The patent uses copying by creating workload models that replicate the essential characteristics of actual software execution behavior. Instead of requiring the complete software to be ported to target hardware, the system creates simplified workload representations (such as task graphs with computational and communication loads) that copy the key performance-relevant features of the original software, enabling accurate performance estimation on prototype hardware.
2Measurement precision
If complete software is required for hardware performance testing, then accurate performance measurement is achieved, but the hardware design cycle is delayed
Solution Approach 1:
The patent applies the extraction principle by separating the essential workload characteristics from the complete software system. Instead of requiring the entire software to be available and ported, the system extracts key execution trace data (computational loads, communication patterns, task dependencies) from software running on reference hardware, and uses these extracted features to create workload models that can be tested on target hardware independently of the complete software.
Solution Approach 2:
The patent applies parameter changes by transforming raw execution trace data into standardized workload model parameters. The system converts trace information into structured representations with specific parameters (computational load, communication load, task timing characteristics) that can be systematically applied to performance modeling, allowing accurate measurement without requiring the complete software environment.
3Ease of manufacture
If workload models are created without understanding target software and platform, then model generation is simplified, but model accuracy decreases
Solution Approach 1:
The patent applies self-service by enabling the workload model generation process to automatically extract and analyze execution trace data without requiring manual interpretation or deep expert knowledge of the target software and platform. The system autonomously processes trace files, identifies workload characteristics, and generates accurate workload models through automated analysis algorithms, making the process both easier to execute and sufficiently accurate.
Data Source
AI summary
Methods and computer readable media for software modeling. The method comprises accessing one or more software execution traces describing execution times of tasks within software executed on a target platform. The method also comprises generating a workload model of the software based on the one or more software execution traces of the software executed on the target platform. The workload model describes tasks of the software and workloads on the target platform associated with the tasks of the software.


