An Efficient Architecture for Dynamic Profiling of Multicore Systems

Persistent Link:
http://hdl.handle.net/10150/595814
Title:
An Efficient Architecture for Dynamic Profiling of Multicore Systems
Author:
Sargur, Sudarshan Lakshminarasimhan
Issue Date:
2015
Publisher:
The University of Arizona.
Rights:
Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
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, both at design time and runtime. In a traditional design process, it suffices to perform the profiling and optimization steps offline, during design time. The offline profiling guides the design space exploration, hardware software codesign, or power and performance optimizations. When the system implementation can be finalized at design time, this approach works well. However, dynamic optimization techniques, which adapt and reconfigure the system at runtime, require dynamic profiling with minimum runtime overheads. Existing profiling methods are usually software based and incur significant overheads that may be prohibitive or impractical for profiling embedded systems at runtime. In addition, these profiling methods typically focus on profiling the execution of specific tasks executing on a single processor core, but do not consider accurate and holistic profiling across multiple processor cores. Directly utilizing existing profiling approaches and naively combining isolated profiles from multiple processor cores can lead to significant profile inaccuracies of up to 35%. To address these challenges, a hardware-based dynamic application profiler for non-intrusively and accurately profiling software applications in multicore embedded systems is presented. 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 while being area efficient.
Type:
text; Electronic Thesis
Keywords:
Hardware/Software Partitioning; Multicore; Profiling; Electrical & Computer Engineering; Dynamic Optimization
Degree Name:
M.S.
Degree Level:
masters
Degree Program:
Graduate College; Electrical & Computer Engineering
Degree Grantor:
University of Arizona
Advisor:
Lysecky, Roman

Full metadata record

DC FieldValue Language
dc.language.isoen_USen
dc.titleAn Efficient Architecture for Dynamic Profiling of Multicore Systemsen_US
dc.creatorSargur, Sudarshan Lakshminarasimhanen
dc.contributor.authorSargur, Sudarshan Lakshminarasimhanen
dc.date.issued2015en
dc.publisherThe University of Arizona.en
dc.rightsCopyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.en
dc.description.abstractApplication 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, both at design time and runtime. In a traditional design process, it suffices to perform the profiling and optimization steps offline, during design time. The offline profiling guides the design space exploration, hardware software codesign, or power and performance optimizations. When the system implementation can be finalized at design time, this approach works well. However, dynamic optimization techniques, which adapt and reconfigure the system at runtime, require dynamic profiling with minimum runtime overheads. Existing profiling methods are usually software based and incur significant overheads that may be prohibitive or impractical for profiling embedded systems at runtime. In addition, these profiling methods typically focus on profiling the execution of specific tasks executing on a single processor core, but do not consider accurate and holistic profiling across multiple processor cores. Directly utilizing existing profiling approaches and naively combining isolated profiles from multiple processor cores can lead to significant profile inaccuracies of up to 35%. To address these challenges, a hardware-based dynamic application profiler for non-intrusively and accurately profiling software applications in multicore embedded systems is presented. 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 while being area efficient.en
dc.typetexten
dc.typeElectronic Thesisen
dc.subjectHardware/Software Partitioningen
dc.subjectMulticoreen
dc.subjectProfilingen
dc.subjectElectrical & Computer Engineeringen
dc.subjectDynamic Optimizationen
thesis.degree.nameM.S.en
thesis.degree.levelmastersen
thesis.degree.disciplineGraduate Collegeen
thesis.degree.disciplineElectrical & Computer Engineeringen
thesis.degree.grantorUniversity of Arizonaen
dc.contributor.advisorLysecky, Romanen
dc.contributor.committeememberLysecky, Romanen
dc.contributor.committeememberAkoglu, Alien
dc.contributor.committeememberRozenblit, Jerzeyen
All Items in UA Campus Repository are protected by copyright, with all rights reserved, unless otherwise indicated.