The inter-core interference that affects multicore processors highly complicates the timing analysis of embedded applications. The contribution of the execution-time penalty that software programs incur on access to hardware shared resources is hard to estimate, as it depends on both the resource arbitration policy and the quantity and activity of co-runners. An interesting vicious circle arises: the execution-time behavior of the application of interest must be known to determine its best allocation to a processor core; this decision however determines the actual set of co-runners, which in turns effects the inter-core interference suffered by the application of interest and consequently its execution-time behavior. This work presents a framework that aids the timing analysis of applications in presence of inter-core interference and addresses the cited circular dependency by providing a suite of synthetic co-runners designed to access hardware shared resources to produce fine-grained controlled interference. The framework specifically targets the Aurix Tricore family of processors designed by Infineon for the automotive domain, and includes a highly integrated toolchain to build, execute and trace applications. The toolchain includes a tailored version of Erika Enterprise, modified to exhibit time-composable behavior at run time, and the RT-Druid build environment. The paper includes an evaluation of the timing behavior of a real-world automotive application, adapted to fit the run-time target of choice and trialed under different levels of inter-core interference.
['Davide Compagnin', 'Tullio Vardanega']
An automated framework for the timing analysis of applications for an automotive multicore processor