{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,3,12]],"date-time":"2024-03-12T18:49:27Z","timestamp":1710269367289},"reference-count":43,"publisher":"Wiley","issue":"8","license":[{"start":{"date-parts":[[2010,6,18]],"date-time":"2010-06-18T00:00:00Z","timestamp":1276819200000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[2010,7]]},"abstract":"Abstract<\/jats:title>Modern systems are enormously complex; many applications today comprise millions of lines of code, make extensive use of software frameworks, and run on complex, multi\u2010tiered, run\u2010time systems. Understanding the performance of these applications is challenging because it depends on the interactions between the many software and the hardware components. This paper describes and evaluates an interactive and iterative methodology, temporal vertical profiling, for understanding the performance of applications. There are two key insights behind temporal vertical profiling. First, we need to collect and reason across information from multiple layers of the system before we can understand an application's performance. Second, application performance changes over time and thus we must consider the time\u2010varying behavior of the application instead of aggregate statistics. We have developed temporal vertical profiling from our own experience of analyzing performance anomalies and have found it very helpful for methodically exploring the space of hardware and software components. By representing an application's behavior as a set of metrics, where each metric is represented as a time series, temporal vertical profiling provides a way to reason about performance across system layers, regardless of their level of abstraction, and independent of their semantics. Temporal vertical profiling provides a methodology to explore a large space of metrics, hundreds of metrics even for small benchmarks, in a systematic way. Copyright \u00a9 2010 John Wiley & Sons, Ltd.<\/jats:p>","DOI":"10.1002\/spe.972","type":"journal-article","created":{"date-parts":[[2010,6,18]],"date-time":"2010-06-18T08:13:42Z","timestamp":1276848822000},"page":"627-654","source":"Crossref","is-referenced-by-count":3,"title":["Temporal vertical profiling"],"prefix":"10.1002","volume":"40","author":[{"given":"Matthias","family":"Hauswirth","sequence":"first","affiliation":[]},{"given":"Peter F.","family":"Sweeney","sequence":"additional","affiliation":[]},{"given":"Amer","family":"Diwan","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2010,6,22]]},"reference":[{"key":"e_1_2_1_2_2","unstructured":"Intel. Intel Core Microarchitecture. Available at:http:\/\/www.intel.com\/technology\/architecture\u2010silicon\/core\/[11 June2009]."},{"key":"e_1_2_1_3_2"},{"key":"e_1_2_1_4_2","volume-title":"Transactional Memory","author":"Larus J","year":"2006"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.718"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2004.840305"},{"key":"e_1_2_1_7_2","unstructured":"Standard Performance Evaluation Corporation. SPECjbb2000 (java business benchmark). Available at:http:\/\/www.spec.org\/jbb2000[11 June2009]."},{"key":"e_1_2_1_8_2","unstructured":"Standard Performance Evaluation Corporation. SPECjvm98 benchmarks. Available at:http:\/\/www.spec.org\/jvm98[11 June2009]."},{"key":"e_1_2_1_9_2"},{"key":"e_1_2_1_10_2","unstructured":"BerndtDJ CliffordJ. Using dynamic time warping to find patterns in time series. Technical Report WS\u201094\u201003 AAAI Press Menlo Park CA 1994; 359\u2013370. Available at:http:\/\/www.aaai.org\/Library\/Workshops\/ws94\u201003.php."},{"key":"e_1_2_1_11_2"},{"key":"e_1_2_1_12_2","unstructured":"Jikes Research Virtual Machine (RVM). Available at:http:\/\/jikesrvm.org\/[11 June2009]."},{"key":"e_1_2_1_13_2","unstructured":"HSQL Database Engine. Available at:http:\/\/hsqldb.org\/[11 June2009]."},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1147\/sj.442.0399"},{"key":"e_1_2_1_15_2"},{"key":"e_1_2_1_16_2","volume-title":"26th International Conference on Software Engineering, Edinburgh, Scotland, U.K.","author":"Blackburn S","year":"2004"},{"key":"e_1_2_1_17_2"},{"key":"e_1_2_1_18_2","volume-title":"Proceedings of the 3rd Virtual Machine Research and Technology Symposium (VM'04), San Jose, CA, U.S.A","author":"Sweeney PF","year":"2004"},{"key":"e_1_2_1_19_2","first-page":"241","volume-title":"International Symposium on Code Generation and Optimization, San Francisco, CA, U.S.A.","author":"Fink SJ","year":"2003"},{"key":"e_1_2_1_20_2","doi-asserted-by":"publisher","DOI":"10.1016\/0004-3702(82)90020-0"},{"key":"e_1_2_1_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2002.1028477"},{"key":"e_1_2_1_22_2","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2002.1028478"},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511612398"},{"key":"e_1_2_1_24_2","volume-title":"Computer Systems Performance Evaluation and Prediction","author":"Fortier PJ","year":"2003"},{"key":"e_1_2_1_25_2","first-page":"149","volume-title":"Proceedings of the 18th Annual ACM SIGPLAN Conference on Object\u2010Oriented Programming, Systems, Languages, and Applications, Anaheim, CA, U.S.A.","author":"Dufour B","year":"2003"},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/VISUAL.1994.346322"},{"key":"e_1_2_1_27_2","volume-title":"TOOLS Europe, Z\u00fcrich, Switzerland","author":"Sevitsky G","year":"2001"},{"key":"e_1_2_1_28_2","unstructured":"PauwWD MitchellN RobillardM SevitskyG SrinivasanH.Drive\u2010by analysis of running programs. Workshop on Software Visualization International Conference on Software Engineering Toronto Ont. Canada 2001."},{"key":"e_1_2_1_29_2","first-page":"15","volume-title":"Proceedings of the USENIX 2004 Annual Technical Conference, Boston, MA, U.S.A.","author":"Cantrill BM","year":"2004"},{"key":"e_1_2_1_30_2","unstructured":"Mellor\u2010CrummeyJ FowlerR MarinG.HPCView: A tool for top\u2010down analysis of node performance. Proceedings of the Los Alamos Computer Science Institute Second Annual Symposium Santa Fe New Mexico 2001."},{"key":"e_1_2_1_31_2","doi-asserted-by":"publisher","DOI":"10.1109\/2.471178"},{"key":"e_1_2_1_32_2"},{"key":"e_1_2_1_33_2","volume-title":"Proceedings of the ACM 1999 Java Grande Conference, San Francisco, CA, U.S.A","author":"Newhall T","year":"1999"},{"key":"e_1_2_1_34_2","doi-asserted-by":"publisher","DOI":"10.1177\/109434209901300310"},{"key":"e_1_2_1_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2000.10050"},{"key":"e_1_2_1_36_2","volume-title":"Proceedings of the Scalable Parallel Libraries Conference, Mississippi, MS, U.S.A.","author":"Reed DA","year":"1993"},{"key":"e_1_2_1_37_2","unstructured":"DeRoseL ReedDA.SvPablo: A multi\u2010language architecture\u2010independent performance analysis system. Proceedings of the International Conference on Parallel Processing Fukushima Japan 1999."},{"key":"e_1_2_1_38_2","volume-title":"Second International Euro\u2010Par Conference, Lyon, France","author":"Labarta J","year":"1996"},{"key":"e_1_2_1_39_2","unstructured":"GuitartJ TorresJ Ayguad\u00e9E OliverJ LabartaJ.Java instrumentation suite: Accurate analysis of Java threaded applications. Second Workshop on Java for High Performance Computing (Part of the 14th ACM International Conference on Supercomputing ICS'00) Santa Fe NM U.S.A. 2000."},{"key":"e_1_2_1_40_2","volume-title":"Parallel Programming Using C++","author":"Mohr B","year":"1996"},{"key":"e_1_2_1_41_2","first-page":"169","volume-title":"Proceedings of the 18th Annual ACM SIGPLAN Conference on Object\u2010Oriented Programming, Systems, Languages and Applications (OOPSLA), Anaheim, CA, U.S.A.","author":"Eeckhout L","year":"2003"},{"key":"e_1_2_1_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2003.1178050"},{"issue":"1","key":"e_1_2_1_43_2","first-page":"1","article-title":"Quantifying the impact of input data sets on program behavior and its applications","volume":"5","author":"Eeckhout L","year":"2003","journal-title":"Journal of Instruction\u2010Level Parallelism"},{"key":"e_1_2_1_44_2","first-page":"1","volume-title":"Proceedings of the 2002 ACM\/IEEE Conference on Supercomputing","author":"Ahn DH","year":"2002"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.972","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.972","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,22]],"date-time":"2023-11-22T08:50:55Z","timestamp":1700643055000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.972"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010,6,22]]},"references-count":43,"journal-issue":{"issue":"8","published-print":{"date-parts":[[2010,7]]}},"alternative-id":["10.1002\/spe.972"],"URL":"https:\/\/doi.org\/10.1002\/spe.972","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010,6,22]]}}}