Tree visualization with tree-maps: 2-d space-filling approach
ACM Transactions on Graphics (TOG)
Does Code Decay? Assessing the Evidence from Change Management Data
IEEE Transactions on Software Engineering
Software Engineering: A Practitioner's Approach
Software Engineering: A Practitioner's Approach
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Parallel Programmer Productivity: A Case Study of Novice Parallel Programmers
SC '05 Proceedings of the 2005 ACM/IEEE conference on Supercomputing
Software Development Environments for Scientific and Engineering Software: A Series of Case Studies
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Parallel Programmability and the Chapel Language
International Journal of High Performance Computing Applications
A pilot study to compare programming effort for two parallel programming models
Journal of Systems and Software
Version Control with Subversion
Version Control with Subversion
Validity of the single processor approach to achieving large scale computing capabilities
AFIPS '67 (Spring) Proceedings of the April 18-20, 1967, spring joint computer conference
How do developers use parallel libraries?
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Why do scala developers mix the actor model with other concurrency models?
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
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.