Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2830168.2830173acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article

Testing and debugging exascale applications by mocking MPI

Published: 15 November 2015 Publication History

Abstract

Debugging and code verification present daunting challenges for message-passing parallel applications that employ billions of processes/threads. Yet often it is only at scale that software defects first show themselves. When it is difficult or impossible to replicate problems on small scale platforms, development delays and resource costs are significant considerations.
Software mocks, in which reconfigurable components replace dependencies in an application component under test, are a powerful and versatile way to side-step expensive, complex, and/or otherwise impractical dependencies. We propose that mocking application dependencies, and MPI in particular, is an effective technique for testing and debugging exascale message-passing software using small-scale computing resources.

References

[1]
Google c++ mocking framework. "http://code.google.com/p/googlemock". Accessed: 2015-0815.
[2]
Home --- hippo mocks project --- assembla. https://www.assembla.com/wiki/show/hippomocks. Accessed: 2015-0815.
[3]
mockcpp --- a c/c++ mock framework. "http://code.google.com/p/mockcpp". Accessed: 2015-08-15, also: https://bitbucket.org/godsme/mockcpp.
[4]
Tools for exascale computing: Challenges and strategies. U.S. Department of Energy, Office of Science "http://science.energy.gov/~/media/ascr/pdf/research/cs/Exascale%20Workshop/Exascale_Tools_Workshop_Report.pdf", 2011.
[5]
T. Clune and M. Rilee. pFUnit 3.0 - a unit testing framework for parallel fortran software. http://sourceforge.net/projects/pfunit, 2014. Accessed: 2014-07-08.
[6]
M. Feathers. Working Effectively with Legacy Software. Prentice Hall. Pearson Education, Inc., Upper Saddle River, NJ, 2005.
[7]
L. V. Kalé, B. Ramkumar, A. B. Sinha, and A. Gursoy. The CHARM Parallel Programming Language and System: Part I -- Description of Language Features. Parallel Programming Laboratory Technical Report #95-02, 1994.
[8]
I. Laguna, D. H. Ahn, B. R. de Supinski, T. Gamblin, G. L. Lee, M. Schulz, S. Bagchi, M. Kulkarni, B. Zhou, Z. Chen, and F. Qin. Debugging high-performance computing applications at massive scales. Commun. ACM, 58(9):72--81, Aug. 2015.
[9]
J. J. Willcock, T. Hoefler, N. G. Edmonds, and A. Lumsdaine. Am++: A generalized active message framework. In Proceedings of the 19th International Conference on Parallel Architectures and Compilation Techniques, PACT '10, pages 401--410, New York, NY, USA, 2010. ACM.
[10]
J. J. Willcock, T. Hoefler, N. G. Edmonds, and A. Lumsdaine. Active pebbles: Parallel programming for data-driven applications. In Proceedings of the International Conference on Supercomputing, ICS '11, pages 235--244, New York, NY, USA, 2011. ACM.

Cited By

View all
  • (2018)Software Engineering for Computational ScienceComputing in Science and Engineering10.1109/MCSE.2018.02165134320:2(90-109)Online publication date: 23-Dec-2018
  • (2017)Supporting Software Engineering Practices in the Development of Data-Intensive HPC Applications with the JuML FrameworkProceedings of the 1st International Workshop on Software Engineering for High Performance Computing in Computational and Data-enabled Science & Engineering10.1145/3144763.3144765(1-8)Online publication date: 12-Nov-2017
  • (2016)Towards automatic and flexible unit test generation for legacy HPC codeProceedings of the Fourth International Workshop on Software Engineering for HPC in Computational Science and Engineering10.5555/3019106.3019113(42-49)Online publication date: 13-Nov-2016
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SE-HPCCSE '15: Proceedings of the 3rd International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering
November 2015
35 pages
ISBN:9781450340120
DOI:10.1145/2830168
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 November 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. MPI
  2. exascale
  3. mock objects
  4. software verification

Qualifiers

  • Research-article

Funding Sources

Conference

SC15
Sponsor:

Acceptance Rates

Overall Acceptance Rate 7 of 12 submissions, 58%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)4
Reflects downloads up to 16 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Software Engineering for Computational ScienceComputing in Science and Engineering10.1109/MCSE.2018.02165134320:2(90-109)Online publication date: 23-Dec-2018
  • (2017)Supporting Software Engineering Practices in the Development of Data-Intensive HPC Applications with the JuML FrameworkProceedings of the 1st International Workshop on Software Engineering for High Performance Computing in Computational and Data-enabled Science & Engineering10.1145/3144763.3144765(1-8)Online publication date: 12-Nov-2017
  • (2016)Towards automatic and flexible unit test generation for legacy HPC codeProceedings of the Fourth International Workshop on Software Engineering for HPC in Computational Science and Engineering10.5555/3019106.3019113(42-49)Online publication date: 13-Nov-2016
  • (2016)Towards Automatic and Flexible Unit Test Generation for Legacy HPC Code2016 Fourth International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering (SE-HPCCSE)10.1109/SE-HPCCSE.2016.005(1-8)Online publication date: Nov-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media