Visualizing massively multithreaded applications with ThreadScope

被引:3
作者
Wheeler, Kyle B. [1 ,2 ]
Thain, Douglas [2 ]
机构
[1] Sandia Natl Labs, Albuquerque, NM 87185 USA
[2] Univ Notre Dame, Notre Dame, IN 46556 USA
关键词
visualization; multithreading; structure;
D O I
10.1002/cpe.1469
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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-lived threads that interact in complex ways. Programmers need to be able to analyze, tune, and troubleshoot these large-scale multi-threaded programs. To address this problem, we present ThreadScope: a tool for tracing, visualizing, and analyzing massively multithreaded programs. ThreadScope extracts the machine-independent 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-based 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 (C) 2009 John Wiley & Sons, Ltd.
引用
收藏
页码:45 / 67
页数:23
相关论文
共 38 条
[1]  
AHUJA S, 1986, COMPUTER, V19, P26, DOI 10.1109/MC.1986.1663305
[2]  
ALTHERR R, 2006, IEEE INT S WORDLOAD, P1, DOI DOI 10.1109/IISWC.2006.302722
[3]  
[Anonymous], 1978, P 10 ANN ACM S THEOR, DOI [DOI 10.1145/800133.804339, 10.1145/800133.804339]
[4]  
[Anonymous], 2004, The SPIN Model Checker-Primer and Reference Manual
[5]   Visualization system for multithreaded programming [J].
Michigan Technological Univ, Houghton, MI, United States .
SIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education), 2000, :1-5
[6]  
BERTHOLD J, 2007, PARALLEL COMPUTING A, P121
[7]  
Blumofe R. D., 1995, SIGPLAN Notices, V30, P207, DOI 10.1145/209937.209958
[8]  
Cantrill B., 2004, P ANN C USENIX ANN T, P2
[9]  
Chapman B, 2007, USING OPENMP PROTABL
[10]  
Coffman E. G., 1971, ACM COMPUT SURV, V3, P67, DOI DOI 10.1145/356586.356588