ACM Home Page
Please provide us with feedback. Feedback
The role of MPI in development time: a case study
Full text PdfPdf (1.42 MB)
Source Conference on High Performance Networking and Computing archive
Proceedings of the 2008 ACM/IEEE conference on Supercomputing - Volume 00 table of contents
Austin, Texas
SECTION: Papers table of contents
Article No. 34  
Year of Publication: 2008
ISBN:978-1-4244-2835-9
Authors
Lorin Hochstein  USC Information Sciences Institute
Forrest Shull  Fraunhofer Center Maryland
Lynn B. Reid  University of Chicago
Publisher
IEEE Press  Piscataway, NJ, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 181,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  

ABSTRACT

There is widespread belief in the computer science community that MPI is a difficult and time-intensive approach to developing parallel software. Nevertheless, MPI remains the dominant programming model for HPC systems, and many projects have made effective use of it. It remains unknown how much impact the use of MPI truly has on the productivity of computational scientists.

In this paper, we examine a mature, ongoing HPC project, the Flash Center at the University of Chicago, to understand how MPI is used and to estimate the time that programmers spend on MPI-related issues during development. Our analysis is based on an examination of the source code, version control history, and regression testing history of the software. Based on our study, we estimate that about 20% of the development effort is related to MPI. This implies a maximum productivity improvement of 25% for switching to an alternate parallel programming model.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
M. R. Beinoff and E. D. Lazowska, "Computational science: Ensuring America's competitiveness / President's Information Technology Advisory Committee (PITAC)," National Coordination Office for Information Technology Research & Development, Arlington, VA 2005.
 
4
 
5
 
6
R. Choy and A. Edelman, "MATLAB*P 2.0: A unified parallel MATLAB", MIT DSpace, Computer Science collection, January 2003.
7
 
8
W. W. Carlson, D. E. Culler, K. A. Yellick, E. Brooks and K. Warren, "Introduction to UPC and language specification", Center for Computing Sciences Technical Report, CCS-TR-99-157, May 1999.
 
9
W. S. Cleveland, "Graphical methods for data presentation: Full scale breaks, dot charts, and multibased logging," The American Statistician, Vol. 38, November 1984.
 
10
J. Dongarra, R. Graybill, W. Harrod, R. Lucas, E. Lusk, P. Luszczek, J. McMahon, A. Snavely, J. Vetter, K. Yelick, S. Alam, R. Campbell, L. Carrington, T.-Y. Chen, O. Khalili, J. Meredith, and M. Tikir," DARPA's HPCS program: History, models, tools, languages," in Advances in Computers, Vol. 72, Elsevier, June 2008.
 
11
H. C. Edwards and J. R. Stewart. "Sierra, a software environment for developing complex multiphysics applications". In K. J. Bathe, editor, Computational Fluid and Solid Mechanics. Proc. First MIT Conf., pp 1147--1150, Elsevier, 2001.
 
12
 
13
B. Fryxell, K. Olson, P. Ricker, F. X. Timmes, M. Zingale, D. Q. Lamb, P. MacNeice, R. Rosner, J. W. Truran, and H. Tufo, "FLASH: An Adaptive Mesh Hydrodynamics Code for Modeling Astrophysical Thermonuclear Flashes", The Astrophysical Journal Supplement Series, Vol. 131, Iss. 1, pp. 273--334, Nov 2000.
 
14
S. L. Graham, M. Snir, and C. A. Patterson, "Getting up to speed: The future of supercomputing," National Academies Press, 2004.
 
15
T. Goodale, G. Allen, G. Lanfermann, J. Massó, T. Radke, E. Seidel, and J. Shalf. "The Cactus framework and toolkit: design and applications," Vector and Parallel Processing - VECPAR 2002, 5th International Conference. Springer, 2003.
 
16
Federal plan for high-end computing: Report of the high-end computing revitalization task force (HECRTF), May 10, 2004.
 
17
 
18
L. Hochstein, J. Carver, F. Shull, S. Asgari, V. R. Basili, J. Hollingsworth, and M. Zelkowitz, "HPC programmer productivity: A case study of novice HPC programmers," ACM/IEEE Conference on Supercomputing (SC '05), 2005.
 
19
L. Hochstein, T. Nakamura, V. R. Basili, S. Asgari, M. V. Zelkowitz, Jeffrey K. Hollingsworth, Forrest Shull, Jeffrey Carver, Martin Voelp, Nico Zazworka, and Philip Johnson, "Experiments to Understand HPC Time to Development", CTWatch Quarterly, Vol 2, No. 4A, November 2006.
 
20
 
21
L. V. Kale and S. Krishnan, "Charm++: parallel programming with message-driven objects," G. V. Wilson, P. Lu (Eds.), Parallel Programming Using C++; MIT Press, Cambridge, MA, pp. 175--213, 1996.
 
22
G. Kumfert, and T. Epperly, "Software in the DOE: The Hidden Overhead of 'The Build'", Lawrence Livermore National Laboratory Technical Report, UCRL-ID-147343, Feb 28, 2002.
 
23
P. MacNeice, K. M. Olson, C. Mobarry, R. deFainchtein, and C. Packer, "PARAMESH: A parallel adaptive mesh refinement community toolkit.", Computer Physics Communications, Vol. 126, pp. 330--354, 2000.
 
24
Message Passing Interface Forum. MPI: A Message Passing Interface Standard, Version 1.1, June 1995.
 
25
K. Olson and P. MacNeice, "An Over of the PARAMESH AMR Software and Some of Its Applications", in Adaptive Mesh Refinement-Theory and Applications, Proceedings of the Chicago Workshop on Adaptive Mesh Refinement Methods, Series: Lecture Notes in Computational Science and Engineering, vol. 41, eds. T. Plewa, T. Linde, and G. Weirs, Springer, Berlin, 2005.
 
26
K. Olson, "PARAMESH: A Parallel Adaptive Grid Tool", in Parallel Computational Fluid Dynamics 2005: Theory and Applications: Proceedings of the Parallel CFD Conference, College Park, MD, U.S.A., eds. A. Deane, A. Ecer, G. Brenner, D. Emerson, J. McDonough, J. Periaux, N. Satofuka, and D. Tromeur-Dervout, Elsevier, 2006.
 
27
D. E. Perry, N. A. Staudenmayer, and L. G. Votta, "Understanding and improving time usage in software development," in Software Process. Vol. 4, A. Fuggetta and A. Wolf, Eds.: John Wiley and Sons, 1996.
 
28
 
29
 
30
J. V. W. Reynders, P. J. Hinker, J. C. Cummings, S. R. Atlas, S. Banerjee, W. F. Humphrey, S. R. Karmesin, K. Keahy, M. Srikant, and M. Tholburn, "POOMA: A framework for scientific simulation on parallel architectures", in Parallel Programming for C++, pp. 547--558, MIT Press, 1996.
31
 
32
R. K. Yin, Case study research: Design and methods, Third ed.: Sage Publications, 2002.

Collaborative Colleagues:
Lorin Hochstein: colleagues
Forrest Shull: colleagues
Lynn B. Reid: colleagues