Fidelity Estimation Navigator
, Hamed Tabkhi
Performance estimation is a corner stone in embedded system design. It aims to predict the resulting performance when executing on a target hardware platform - before such platform is available in hardware. Platforms of interest can include general purpose processors (GPPs), digital signal processors (DSPs), graphical processing units (GPUs), and custom hardware components (HW). Important performance metrics include execution time, power consumption, reliability and many more. This work aims to improve the retargetable profiling performance estimation part of SCE framework. It is based on the retargetable profiling introduced by scprof, which collects demand of an application by profiling the C-source code. Scprof then estimates execution time on a particular processing element by multiplying with a weight table (providing delay information for each demand).
Our work introduces a framework for automatically determining the weight tables which capture processor characteristics. In result, it simplifies retargetable profiling, increases estimation accuracy, and enables evaluating hardware and software configurations. In particular, the contributions of this work are a comprehensive framework for running benchmarks on different target platforms extracting the execution times metrics. We make a Linear programming formulation that identifies weight table parameters subject to minimizing the overall error over the evaluated benchmarks.
In a parallel effort, we explore and classify exiting work in the area of high-level system performance estimation covering different aspect of system including SW, HW, as well as communication. Interesting questions are: What is meaningful input to achieve a certain estimation accuracy? How much does the estimation tool have to assume of the implementation? What are observable features of the estimation? The survey effort is led by Hamed, joined by Nasibeh and Kasra.