Compositional Performance Analysis for Complex Embedded Applications
Marek Jersak · Digitale Bibliothek Braunschweig (Verbundzentrale Göttingen (VZG)) · 2004
Performance verification is key during the design of embedded systems. It is challenging, in particular when a large numbers of tasks is implemented on a communication-centric heterogeneous multi-processor architecture with dynamic task and communication scheduling. A promising approach is formal system-level performance analysis. It calculates best-case and worst-case performance bounds and thus guarantees full corner-case coverage, making it a reliable approach to performance verification. A promising approach is compositional performance analysis (scheduling analysis) for heterogeneous multi-processor architectures. However, the approach currently uses a simple application model. Any useful system-level performance analysis framework must be able to handle the complexity of real-world applications. In this work, transformations are developed between the variety of task dependencies that are found in complex embedded applications, and models required for compositional performance analysis. Specifically, it is shown how to consider data rate transitions (with fixed rates and rate intervals) and multiple activating inputs (AND- or OR-concatenated). This includes analysis of cyclic task dependencies, e.g. in a control loop. As a further extension, the type of communicated data and phase information between different task activations is captured and considered during analysis. Finally, it is shown how to apply the presented methodology to designs specified in Simulink. The presented methodology has been implemented in the system-level performance analysis framework SymTA/S. In summary, the methodology for the first time allows performance analysis for complex applications that are mapped onto heterogeneous multi-processor architectures.