Non-intrusive dynamic profiler for multicore embedded systems
Sudarshan Lakshminarasimhan Sargur, Roman Lysecky
Abstract
Sudarshan Lakshminarasimhan Sargur, Roman Lysecky
Abstract
Application profiling is an important step in the design and optimization of embedded systems. Accurately identifying and analyzing the execution of frequently executed computational kernels is needed to effectively optimize the system implementation, at both design time and runtime. Most previous profiling approaches are software based, which can incur significant overhead and may be prohibitive or impractical for profiling embedded systems at runtime. In addition, profiling methods typically focus on profiling the execution of specific tasks executing on a single core, but do not consider accurate and holistic profiling across multiple processor cores. Directly utilizing and naively combining isolated profiles from multiple processor cores can lead to significant profile inaccuracy. In this paper, we present a hardware-based dynamic application profiler for non-intrusively and accurately profiling software applications in multicore embedded systems. The profiler provides a detailed execution profile for computational kernels and maintains profile accuracy across multiple processor cores. The hardware-based profiler achieves an average error of less than 0.5% for the percentage execution time of profiled applications.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Application profiling is an important step in the design and optimization of embedded systems. Accurately identifying and analyzing the execution of frequently executed computational kernels is needed to effectively optimize the system implementation, at both design time and runtime. Most previous profiling approaches are software based, which can incur significant overhead and may be prohibitive or impractical for profiling embedded systems at runtime. In addition, profiling methods typically focus on profiling the execution of specific tasks executing on a single core, but do not consider accurate and holistic profiling across multiple processor cores. Directly utilizing and naively combining isolated profiles from multiple processor cores can lead to significant profile inaccuracy. In this paper, we present a hardware-based dynamic application profiler for non-intrusively and accurately profiling software applications in multicore embedded systems. The profiler provides a detailed execution profile for computational kernels and maintains profile accuracy across multiple processor cores. The hardware-based profiler achieves an average error of less than 0.5% for the percentage execution time of profiled applications.
Key concepts: Profiling (computer programming), Computer science, Multi-core processor, Software, Embedded system, Execution time, Embedded software, Parallel computing