Efficient hardware-based nonintrusive dynamic application profiling

Ajay Nair, Karthik Shankar, Roman Lysecky

Research output: Contribution to journalArticlepeer-review

6 Scopus citations


Application profiling - the process of monitoring an application to determine the frequency of execution within specific regions - is an essential step within the design process for many software and hardware systems. Profiling is often a critical step within hardware/software partitioning utilized to determine the critical kernels of an application. In this article, we present an innovative, nonintrusive dynamic application profiler (DAProf) capable of profiling an executing application by monitoring the application's short backward branches, function calls, and function returns. The resulting profile information provides an accurate characterization of the frequently executed loops within the application providing a breakdown of loop executions versus loop iterations per execution. DAProf achieves excellent profiling accuracy with an average accuracy of 98% for loop executions, 97% for average iterations per execution, and 95% for percentage of execution time. In addition, the presented dynamic application profiler incurs as little as 11% area overhead compared to an ARM9 microprocessor. DAProf is ideally suited for rapidly profiling software applications and dynamic optimization approaches such as dynamic hardware/software partitioning in which detailed loop execution information is needed to provide accurate performance estimates.

Original languageEnglish (US)
Article number32
JournalTransactions on Embedded Computing Systems
Issue number3
StatePublished - Apr 2011


  • Critical kernels
  • Dynamic hardware/software partitioning
  • Dynamic optimization
  • Embedded systems
  • Nonintrusive profiling
  • Profiling

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture


Dive into the research topics of 'Efficient hardware-based nonintrusive dynamic application profiling'. Together they form a unique fingerprint.

Cite this