{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,10]],"date-time":"2023-10-10T06:10:06Z","timestamp":1696918206602},"reference-count":37,"publisher":"Wiley","issue":"1","license":[{"start":{"date-parts":[[2009,8,13]],"date-time":"2009-08-13T00:00:00Z","timestamp":1250121600000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Concurrency and Computation"],"published-print":{"date-parts":[[2010,1]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>As highly parallel multicore machines become commonplace, programs must exhibit more concurrency to exploit the available hardware. Many multithreaded programming models already encourage programmers to create hundreds or thousands of short\u2010lived threads that interact in complex ways. Programmers need to be able to analyze, tune, and troubleshoot these large\u2010scale multithreaded programs. To address this problem, we present ThreadScope: a tool for tracing, visualizing, and analyzing massively multithreaded programs. ThreadScope extracts the machine\u2010independent program structure from execution trace data from a variety of tracing tools and displays it as a graph of dependent execution blocks and memory objects, enabling identification of synchronization and structural problems, even if they did not occur in the traced run. It also uses graph\u2010based analysis to identify potential problems. We demonstrate the use of ThreadScope to view program structure, memory access patterns, and synchronization problems in three programming environments and seven applications. Copyright \u00a9 2009 John Wiley &amp; Sons, Ltd.<\/jats:p>","DOI":"10.1002\/cpe.1469","type":"journal-article","created":{"date-parts":[[2009,8,13]],"date-time":"2009-08-13T10:53:11Z","timestamp":1250160791000},"page":"45-67","source":"Crossref","is-referenced-by-count":4,"title":["Visualizing massively multithreaded applications with ThreadScope"],"prefix":"10.1002","volume":"22","author":[{"given":"Kyle B.","family":"Wheeler","sequence":"first","affiliation":[]},{"given":"Douglas","family":"Thain","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2009,8,13]]},"reference":[{"key":"e_1_2_9_2_2","volume-title":"Using OpenMP: Portable Shared Memory Parallel Programming","author":"Chapman B","year":"2007"},{"key":"e_1_2_9_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/209936.209958"},{"key":"e_1_2_9_4_2","unstructured":"Intel Corporation. Intel\u00aeThreading Building Blocks (1.10 edn) 2008. Available at:http:\/\/softwarecommunity.intel.com\/isn\/downloads\/softwareproducts\/pdfs\/301114.pdf."},{"key":"e_1_2_9_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2008.4536359"},{"key":"e_1_2_9_6_2","volume-title":"The Spin Model Checker: Primer and Reference Manual","author":"Holzmann GJ","year":"2004"},{"key":"e_1_2_9_7_2","first-page":"2","volume-title":"Proceedings of the Annual Conference on USENIX Annual Technical Conference, ATEC '04","author":"Cantrill BM","year":"2004"},{"key":"e_1_2_9_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2006.302722"},{"key":"e_1_2_9_9_2","doi-asserted-by":"publisher","DOI":"10.1145.1188455.1188618"},{"key":"e_1_2_9_10_2","doi-asserted-by":"publisher","DOI":"10.1002\/1097\u2010024X(200009)30:11<1203::AID\u2010SPE338>3.3.CO;2\u2010E"},{"key":"e_1_2_9_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"},{"key":"e_1_2_9_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250746"},{"key":"e_1_2_9_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/1188455.1188483"},{"key":"e_1_2_9_14_2","unstructured":"HerouxM. Mantevo. Available at:http:\/\/software.sandia.gov\/mantevo\/[1 December2008]."},{"key":"e_1_2_9_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/115372.115320"},{"key":"e_1_2_9_16_2","unstructured":"PietrigaE. ZGRViewer a GraphViz\/dot viewer. Available at:http:\/\/zvtm.sourceforge.net\/zgrviewer.html[7 April2009]."},{"key":"e_1_2_9_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/356586.356588"},{"key":"e_1_2_9_18_2","volume-title":"Operating System Concepts","author":"Silberschatz A","year":"2003"},{"key":"e_1_2_9_19_2","doi-asserted-by":"publisher","DOI":"10.1155\/1997\/532130"},{"key":"e_1_2_9_20_2","doi-asserted-by":"crossref","unstructured":"FortuneS WyllieJ.Parallelism in random access machines. Proceedings of the 10th Annual ACM Symposium on Theory of Computing San Diego CA 1978;114\u2013118. DOI:10.1145\/800133.804339","DOI":"10.1145\/800133.804339"},{"key":"e_1_2_9_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/MC.1986.1663305"},{"key":"e_1_2_9_22_2","unstructured":"MorrisonJP.Data responsive modular interleaved task programming system. Technical Disclosure Bulletin 8 IBM January1971."},{"key":"e_1_2_9_23_2","unstructured":"FrankEE AydtRA.The PABLO performance visualization system functional specification. Department of Computer Science University of Illinois February1995."},{"key":"e_1_2_9_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/75705.75709"},{"key":"e_1_2_9_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/330908.331798"},{"key":"e_1_2_9_26_2","unstructured":"ZhaoQA StaskoJT.Visualizing the execution of threads\u2010based parallel programs. Technical Report GIT\u2010GVU\u201095\u201001 Graphics Visualization and Usability Center Georgia Institute of Technology Atlanta GA January1995."},{"key":"e_1_2_9_27_2","unstructured":"StaskoJT.The PARADE environment for visualizing parallel program executions: A progress report. Technical Report GIT\u2010GVU\u201095\u201003 Georgia Institute of Technology 1995."},{"key":"e_1_2_9_28_2","first-page":"121","volume-title":"Parallel Computing: Architectures, Algorithms and Applications (John von Neumann Institute for Computing)","author":"Berthold J","year":"2007"},{"key":"e_1_2_9_29_2","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-44520-X_17"},{"key":"e_1_2_9_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.1998.727176"},{"key":"e_1_2_9_31_2","unstructured":"HeathMT FingerJE.ParaGraph: A tool for visualizing performance of parallel programs. Technical Report Oak Ridge National Laboratory 1995."},{"key":"e_1_2_9_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/100215.100265"},{"key":"e_1_2_9_33_2","doi-asserted-by":"publisher","DOI":"10.1016\/0743\u20107315(90)90046\u2010R"},{"issue":"1","key":"e_1_2_9_34_2","first-page":"69","article-title":"VAMPIR: Visualization and analysis of MPI resources","volume":"12","author":"Nagel WE","year":"1996","journal-title":"Supercomputer"},{"key":"e_1_2_9_35_2","unstructured":"SoftwareI. Rational purify. Available at:http:\/\/www.ibm.com\/software\/awdtools\/purify\/[7 April2009]."},{"key":"e_1_2_9_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/1390841.1390847"},{"key":"e_1_2_9_37_2","unstructured":"Intel Corporation. Intel thread checker. Available at:http:\/\/www.intel.com\/support\/performancetools\/threadchecker\/[7 April2009]."},{"key":"e_1_2_9_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/514188.514190"}],"container-title":["Concurrency and Computation: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fcpe.1469","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/cpe.1469","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,9]],"date-time":"2023-10-09T22:23:47Z","timestamp":1696890227000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/cpe.1469"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,8,13]]},"references-count":37,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2010,1]]}},"alternative-id":["10.1002\/cpe.1469"],"URL":"https:\/\/doi.org\/10.1002\/cpe.1469","archive":["Portico"],"relation":{},"ISSN":["1532-0626","1532-0634"],"issn-type":[{"value":"1532-0626","type":"print"},{"value":"1532-0634","type":"electronic"}],"subject":[],"published":{"date-parts":[[2009,8,13]]}}}