This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Visual Analysis of Inter-Process Communication for Large-Scale Parallel Computing
November/December 2009 (vol. 15 no. 6)
pp. 1129-1136
Chris Muelder, University of California, Davis
Francois Gygi, University of California, Davis
Kwan-Liu Ma, University of California, Davis
In serial computation, program profiling is often helpful for optimization of key sections of code. When moving to parallel computation, not only does the code execution need to be considered but also communication between the different processes which can induce delays that are detrimental to performance. As the number of processes increases, so does the impact of the communication delays on performance. For large-scale parallel applications, it is critical to understand how the communication impacts performance in order to make the code more efficient. There are several tools available for visualizing program execution and communications on parallel systems. These tools generally provide either views which statistically summarize the entire program execution or process-centric views. However, process-centric visualizations do not scale well as the number of processes gets very large. In particular, the most common representation of parallel processes is a Gantt char t with a row for each process. As the number of processes increases, these charts can become difficult to work with and can even exceed screen resolution. We propose a new visualization approach that affords more scalability and then demonstrate it on systems running with up to 16,384 processes.

[1] Bootchart, a visualization of system startup processes for optimizing boot times. http://www.bootchart.org.
[2] A. Chan, W. Gropp, and E. Lusk, An ef ficient format for nearly constant-time access to arbitrary time intervals in large trace files. Scienti fic Programming, 16 (2-3): 155--165, 2008.
[3] B. Cornelissen, A. Zaidman, D. Holten, L. Moonen, A. van Deursen, and J. J. van Wijk, Execution trace analysis through massive sequence and circular bundle views. J. Syst Softw., 81 (12): 2252--2268, 2008.
[4] EtherApe: A graphical network monitor. http:/etherape. sourceforge.net.
[5] Franklin at NERSC: http://www.nersc.gov/nusers/ systemsfranklin /.
[6] M. T. Heath, Paragraph: a tool for visualizing performance of parallel programs. In Second Workshop on Environments and Tools for Parallel Sci. Comput, pages 221--230, 1994.
[7] V. Herrarte and E. Lusk, Studying parallel program behavior with upshot. Technical Report ANL--91/15, Argonne National Laboratory, 1991.
[8] D. F. Jerding, J. T. Stasko, and T. Ball, Visualizing interactions in program executions. In ICSE '97: Proc. of the 19th Intl. Conf. on Software engineering, pages 360--370. ACM, 1997.
[9] J. Johansson, P. Ljung, M. Jern, and M. Cooper, Revealing structure within clustered parallel coordinates displays. In InfoVis '05: Proc. of the 2005 IEEE Symposium on Information Visualization, pages 125--132. IEEE Computer Society, 2005.
[10] E. Karrels and E. Lusk, Performance analysis of MPI programs. In J. Dongarra, and B. Tourancheau editors, , Proc. of the Workshop on Environments and Tools For Parallel Scienti fic Computing, pages 195--200. SIAM Publications, 1994.
[11] D. Kranzlmueller and J. Volkert, Debugging point-to-point communication in MPI and PVM. Lecture Notes in Computer Science, 1497: 265--272, 1998.
[12] D. Kranzlmüller, S. Grabner, and J. Volkert, Debugging massively parallel programs with atempt. In HPCN Europe 1996: Proc. of the Intl. Conf. and Exhibition on High-Performance Computing and Networking, pages 806--811, London, UK, 1996. Springer-Verlag.
[13] R. M. Martin, "Electronic Structure. Basic Theory and Practical Methods in Physics" (Cambridge University Press, 2004) Ch. 23.
[14] S. Moreta and A. Telea, Multiscale visualization of dynamic software logs. In EuroVis, pages 11--18, 2007.
[15] W. E. Nagel http://www.vampir-ng.deindex.html.
[16] National Center for Supercomputing Applications (NCSA) at University of Illinois at Urbana-Champaign: http://www.ncsa.uiuc.edu.
[17] M. Ogawa and K.-L. Ma, Stargate: A uni fied, interactive visualization of software projects. In Proc. of IEEE Paci ficVis 2008, pages 191--198, March 2008.
[18] Accelerating Discovery in Science and Engineering through Petascale Simulations and Analysis (PetaApps), the National Science Foundation, http://www.nsf.gov/pubs/2007/nsf07559nsf07559. htm.
[19] J. E. Roberts, "TraceVis: An execution visualization tool," Master's thesis, Department of Computer Science, University of Illinois, Urbana, IL, July 2004.
[20] R. Ross, T. Peterka, H.-W. Shen, Y. Hong, K.-L. Ma, H. Yu, and K. Moreland, Visualization and parallel i/o at extreme scale. Journal of Physics, July 2008. Proc. of DOE SciDAC 2008 Conf.
[21] Scienti fic Discovery through Advanced Computing (SciDAC): http://www.scidac.gov.
[22] E. Shaffer, D. Reed, S. Whitmore, and B. Schaeffer, Virtue: performance visualization of parallel and distributed applications. IEEE Computer, 32 (12): 44--51, Dec 1999.
[23] S. S. Shende and A. D. Malony, The tau parallel performance system. Int. J. High Perform. Comput. Appl., 20 (2): 287--311, 2006.
[24] M.-A. D. Storey, D. Čubranié, and D. M. German, On the use of visualization to support awareness of human activities in software development: a survey and a framework. In SoftVis '05: Proc. of the 2005 ACM symposium on Software visualization, pages 193--202. ACM, 2005.
[25] A. Telea and L. Voinea, An interactive reverse engineering environment for large-scale c++ code. In SoftVis '08: Proc. of the 4th ACM symposium on Software visualization, pages 67--76. ACM, 2008.
[26] Texas Advanced Computing Center (TACC) at University of Texas, Austin: http://www.tacc.utexas.edu.
[27] B. Topol, J. T. Stasko, and V. Sunderam, PVaniM: a tool for visualization in network computing environments. j-CPE, 10 (14): 1197--1222, Dec. 1998.
[28] L. Voinea, A. Telea, and J. J. van Wijk, Ezel: a visual tool for performance assessment of peer-to-peer file-sharing network. In InfoVis '04: Proc. of the 2004 IEEE Symposium on Information Visualization, pages 41--48, 2004.
[29] M. Wattenberg, Arc diagrams: Visualizing structure in strings. InfoVis '02: Proc. of the 2002 IEEE Symposium on Information Visualization, 0:110, 2002.
[30] C. E. Wu, A. Bolmarcich, M. Snir, D. Wootton, F. Parpia, A. Chan, E. Lusk, and W. Gropp, From trace generation to visualization: A performance framework for distributed parallel systems. In Proc. of ACM/IEEE Supercomputing (SC00), November 2000.
[31] H. Yu and K.-L. Ma, A study of I/O techniques for parallel visualization. Journal of Parallel Computing, 31 (2): 167--183, Feb 2005.
[32] H. Yu, K.-L. Ma, and J. Welling, A parallel visualization pipeline for terascale earthquake simulations. In Proc. of ACM/IEEE Supercomputing (SC04), Nov 2004.
[33] D. Zeckzer, R. Kalcklösch, L. Schröder, H. Hagen, and T. Klein, Analyzing the reliability of communication between software entities using a 3d visualization of clustered graphs. In SoftVis '08: Proc. of the 4th ACM symposium on Software visualization, pages 37--46. ACM, 2008.

Index Terms:
Information Visualization, MPI Profiling, Scalability
Citation:
Chris Muelder, Francois Gygi, Kwan-Liu Ma, "Visual Analysis of Inter-Process Communication for Large-Scale Parallel Computing," IEEE Transactions on Visualization and Computer Graphics, vol. 15, no. 6, pp. 1129-1136, Nov.-Dec. 2009, doi:10.1109/TVCG.2009.196
Usage of this product signifies your acceptance of the Terms of Use.