This work presents the novel method for high-level performance estimation of systems consisting of multiple computational units. The goal is to support system designers in the early phases of the system design flow. The focus mainly lies on embedded systems and in this first part of the work, we began from their versions which perform parallel processing with execution units similar to each other. Systems consisting of different types of processors, and the method expansions to support them are also discussed. The main idea was an attempt to reallocate a single processor's load to multiple simulated processors. The method uses measurements from actual, existing systems and relies on means of simulations with systems under design. Instead of competing with prototyping, the method is supposed to give an estimation of which kind of system architecture would fulfil the desired performance requirements. In the method, we process the mentioned measurement data automatically, which results in a so-called workload model. The workload model is then executed with a simulated system. This simulation run approximates the proposed system's estimated performance. Due to automation at the modelling phase and a high level of abstraction, the method allows the fast approximation of several different configurations. The first of the problem areas was to define which type of workload model is suitable and how it can be created. When the workload is measured from a uni-processor system, its parts which can be parallel executed must be discovered, in order to use the model with a multi-processor system. The second problem area is the modelling of the performance-related parts of the system under design. The larger problem is to study the validity and rationality of the whole method. We validated the method with two different test cases and both of them gave reasonable results. The first validation consists of a simple threaded application, which uses an inter-thread synchronization mechanism. As the internal functionality of the application is known, the characteristics of the method can be roughly seen. The second validation method is a real-world algorithm, which we will execute in both a simulated and existing two-processor system. The margin for error of the method can be calculated from the latter of the validation cases, by comparing the total execution times of the systems. The margin for error for this case was from 10 to 15 %. It was better than expected for a method with a rather high level of abstraction. As research results, the work presents the parts needed for the method: an instrumentation for gathering the measurement data, the creation of a workload model out of it, a simulation of a multi-processor system with the workload model, and visualization of the simulation results. In addition, an analysis of these parts and the whole method is presented.
|Place of Publication
|Published - 2009
|MoE publication type
|G2 Master's thesis, polytechnic Master's thesis
- workload modelling