{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:30:33Z","timestamp":1750307433591,"version":"3.41.0"},"reference-count":44,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2011,4,1]],"date-time":"2011-04-01T00:00:00Z","timestamp":1301616000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000144","name":"Division of Computer and Network Systems","doi-asserted-by":"publisher","award":["CNS-0844565"],"award-info":[{"award-number":["CNS-0844565"]}],"id":[{"id":"10.13039\/100000144","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2011,4]]},"abstract":"<jats:p>Application profiling\u2014the process of monitoring an application to determine the frequency of execution within specific regions\u2014is 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.<\/jats:p>","DOI":"10.1145\/1952522.1952525","type":"journal-article","created":{"date-parts":[[2011,5,3]],"date-time":"2011-05-03T12:48:53Z","timestamp":1304426933000},"page":"1-22","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Efficient hardware-based nonintrusive dynamic application profiling"],"prefix":"10.1145","volume":"10","author":[{"given":"Ajay","family":"Nair","sequence":"first","affiliation":[{"name":"University of Arizona, Tucson, AZ"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Karthik","family":"Shankar","sequence":"additional","affiliation":[{"name":"University of Arizona, Tucson, AZ"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Roman","family":"Lysecky","sequence":"additional","affiliation":[{"name":"University of Arizona, Tucson, AZ"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2011,5,5]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Altera Inc. 2009. Performance counter core. http:\/\/www.altera.com.  Altera Inc. 2009. Performance counter core. http:\/\/www.altera.com."},{"key":"e_1_2_1_2_1","unstructured":"ARM Ltd. 2009. RealView profiler. http:\/\/www.arm.com\/products\/DevTools\/RVP.html.  ARM Ltd. 2009. RealView profiler. http:\/\/www.arm.com\/products\/DevTools\/RVP.html."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265925"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349303"},{"volume-title":"Proceedings of the International Symposium on Microarchitecture (MICRO). 46--57","author":"Ball T.","key":"e_1_2_1_5_1"},{"volume-title":"Proceedings of the International Conference on Computer Design (ICCD). 378--383","author":"Bellas N.","key":"e_1_2_1_6_1"},{"key":"e_1_2_1_7_1","unstructured":"Berrendorf R. Ziegler H. and Mohr B. 2003. Performance counter library (PCL). http:\/\/www.fz-juelich.de\/jsc\/PCL\/.  Berrendorf R. Ziegler H. and Mohr B. 2003. Performance counter library (PCL). http:\/\/www.fz-juelich.de\/jsc\/PCL\/."},{"volume-title":"Proceedings of the ACM Conference on Supercomputing (SC). 42--54","author":"Brown S.","key":"e_1_2_1_8_1"},{"volume-title":"Tech. Rep. 1342. Computer Sciences Department","year":"1997","author":"Burger D.","key":"e_1_2_1_9_1"},{"volume-title":"Proceedings of the International Symposium on Microarchitecture (MICRO). 259--269","author":"Calder B.","key":"e_1_2_1_10_1"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/383082.383099"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/40.671403"},{"volume-title":"Proceedings of the International Symposium on Microarchitecture (MICRO). 292--302","author":"Dean J.","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/12.931892"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/L-CA.2002.4"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2005.165"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/800230.806987"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/DATE.2005.234"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/1128020.1128563"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176760.1176793"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/309847.309896"},{"key":"e_1_2_1_22_1","unstructured":"IEEE. 2001. IEEE 1149.1 standard test access port and boundary scan architecture.  IEEE. 2001. IEEE 1149.1 standard test access port and boundary scan architecture."},{"key":"e_1_2_1_23_1","unstructured":"Intel Corp. 2005. Vtune environment http:\/\/developer.intel.com\/vtune.  Intel Corp. 2005. Vtune environment http:\/\/developer.intel.com\/vtune."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/968280.968313"},{"volume-title":"The technology behind crusoe processors","author":"Klaiber A.","key":"e_1_2_1_25_1"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/309847.309867"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/313817.313944"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1142980.1142986"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/513918.513928"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1450095.1450102"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/93542.93550"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1062261.1062284"},{"volume-title":"Proceedings of the International Conference on Computer Design (ICCD). 94--101","author":"Scott J.","key":"e_1_2_1_33_1"},{"volume-title":"Proceedings of the International Conference on Field-Programmable Technology (FPT). 231--238","author":"Shannon L.","key":"e_1_2_1_34_1"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2002.1028478"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/972627.972637"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/MDT.2002.1047742"},{"volume-title":"Proceedings of the Canadian Conference on Electrical and Computer Engineering (CCECE). 1687--1690","author":"Tong J.","key":"e_1_2_1_38_1"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/502217.502235"},{"volume-title":"Tech. Rep. UCR-CSE-01-03. University of California Riverside","year":"2001","author":"Villarreal J.","key":"e_1_2_1_40_1"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.421.0085"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/369028.369059"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/268998.266640"},{"volume-title":"Proceedings of the International Symposium on High-Performance Computer Architectures (HPCA). 241--252","author":"Zilles C.","key":"e_1_2_1_44_1"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1952522.1952525","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1952522.1952525","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T11:39:55Z","timestamp":1750246795000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1952522.1952525"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011,4]]},"references-count":44,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2011,4]]}},"alternative-id":["10.1145\/1952522.1952525"],"URL":"https:\/\/doi.org\/10.1145\/1952522.1952525","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2011,4]]},"assertion":[{"value":"2008-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2011-05-05","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}