Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1147403.1147409acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
Article

Improving distributed memory applications testing by message perturbation

Published: 17 July 2006 Publication History
  • Get Citation Alerts
  • Abstract

    We present initial work on perturbation techniques that cause the manifestation of timing-related bugs in distributed memory Message Passing Interface (MPI)-based applications. These techniques improve the coverage of possible message orderings in MPI applications that rely on nondeterministic point-to-point communication and work with small processor counts to alleviate the need to test at larger scales. Using carefully designed model problems,we show that these techniques aid testing for problems that are often not easily reproduced when running on small fractions of the machine.Our perturbation layer, JITTERBUG builds on PN MPI an extension of the MPI profiling interface that supports multiple layers of profiling libraries. We discuss how JITTERBUG complements existing MPI checking tools through the PN MPI framework.We present opportunities to build additional tools that statically analyze and directly transform the source code to support testing and debugging MPI applications at reduced scale.

    References

    [1]
    A. Bron, E. Farchi, Y. Magid, Y. Nir, and S. Ur. Applications of synchronization coverage. In Proc. Principles and Practice of Parallel Programming Chicago, IL, USA, June 2005.
    [2]
    H. Chen, D. Dean, and D. Wagner. Model checking one million lines of C code. In Proc. Network and Distributed System Security Symposium San Diego, CA, USA, February 2004.
    [3]
    J. DeSouza, B. Kuhn, and B. R. de Supinski. Automated, scalable debugging of MPI programs with the Intel Message Checker. In Proc. 2nd Intl. Workshop on Software Engineering for High Performance Computing System Applications St. Louis, MO, USA, May 2005.
    [4]
    O. Edelstein, E. Farchi, E. Goldin, Y. Nir, G. Ratsaby, and S. Ur. Framework for testing multi-threaded Java programs. Concurrency and Computation: Practice and Experience 15(3--5): 485--499, 2003.
    [5]
    D. Engler and M. Musuvathi. Static analysis versus software model checking for bug finding. In Proc. International Conference on Verification, Model Checking, and Abstract Interpretation Venice, Italy, 2004.
    [6]
    E. Farchi and B. R. Harrington. Assisting the code review process using simple pattern recognition. In Proc. IBM Verification Conference Haifa, Israel, November 2005.
    [7]
    D. Hovemeyer and W. Pugh. Finding bugs is easy. SIGPLAN Notices (Proceedings of Onward! at OOPSLA 2004) December 2004.
    [8]
    B. Krammer, K. Bidmon, M. S. Müller, and M. M. Resch. MARMOT: An MPI analysis and checking tool. In Proc. Parallel Computing: Software Technology, Algorithms, Architectures, and Applications pages 493--500. Elsevier, 2004.
    [9]
    D. Kranzlmüller and M. Schulz. Notes on non-determinism in message passing programs. In Proc. 9th European PVM/MPI Users Group Meeting volume LNCS 2474, pages 357--367, Linz, Austria, October 2002. Springer.
    [10]
    G. Luecke, H. Chen, J. Coyle, J. Hoekstra, M. Kraeva, and Y. Zou. MPI-CHECK: A tool for checking Fortran 90 MPI programs. Concurrency and Computation: Practice and Experience 15: 93--100, 2003.
    [11]
    Message Passing Interface Forum (MPIF). MPI: A Message-Passing Interface Standard. Technical Report, University of Tennessee, Knoxville, June 1995. http://www.mpi-forum.org/.
    [12]
    Message Passing Interface Forum (MPIF). MPI-2: Extensions to the Message Passing Interface. Technical Report, University of Tennessee, Knoxville, 1997. http: //www.mpi-forum.org/docs/mpi-20-html/mpi2-report.html.
    [13]
    M. Schordan and D. Quinlan. A source-to-source architecture for user-defined optimizations. In Proc. Joint Modular Languages Conference 2003.
    [14]
    M. Schulz and B. R. de Supinski. A . exible and dynamic infrastructure for MPI tool interoperability. In Proc. International Conference on Parallel Processing Columbus, Ohio, August 2006. (to appear).
    [15]
    J. S. Vetter and B. R. de Supinski. Dynamic software testing of MPI applications with Umpire. In Proc. Supercomputing ACM/IEEE, 2000.

    Cited By

    View all
    • (2019)Efficient concolic testing of MPI applicationsProceedings of the 28th International Conference on Compiler Construction10.1145/3302516.3307353(193-204)Online publication date: 16-Feb-2019
    • (2018)Non-intrusively Avoiding Scaling Problems in and out of MPI Collectives2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW.2018.00076(415-424)Online publication date: May-2018
    • (2018)COMPI: Concolic Testing for MPI Applications2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS.2018.00096(865-874)Online publication date: May-2018
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PADTAD '06: Proceedings of the 2006 workshop on Parallel and distributed systems: testing and debugging
    July 2006
    84 pages
    ISBN:1595934146
    DOI:10.1145/1147403
    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 ACM 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: 17 July 2006

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. MPI profiling
    2. interposition layer

    Qualifiers

    • Article

    Conference

    ISSTA06
    Sponsor:

    Upcoming Conference

    ISSTA '24

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 09 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2019)Efficient concolic testing of MPI applicationsProceedings of the 28th International Conference on Compiler Construction10.1145/3302516.3307353(193-204)Online publication date: 16-Feb-2019
    • (2018)Non-intrusively Avoiding Scaling Problems in and out of MPI Collectives2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)10.1109/IPDPSW.2018.00076(415-424)Online publication date: May-2018
    • (2018)COMPI: Concolic Testing for MPI Applications2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS.2018.00096(865-874)Online publication date: May-2018
    • (2017)A Reordering Framework for Testing Message-Passing Systems2017 IEEE 20th International Symposium on Real-Time Distributed Computing (ISORC)10.1109/ISORC.2017.6(109-116)Online publication date: May-2017
    • (2015)UNICORNSoftware Testing, Verification & Reliability10.1002/stvr.152325:3(167-190)Online publication date: 1-May-2015
    • (2012)A sound reduction of persistent-sets for deadlock detection in MPI applicationsProceedings of the 15th Brazilian conference on Formal Methods: foundations and applications10.1007/978-3-642-33296-8_15(194-209)Online publication date: 23-Sep-2012
    • (2011)Formal analysis of message passingProceedings of the 12th international conference on Verification, model checking, and abstract interpretation10.5555/1946284.1946286(2-18)Online publication date: 23-Jan-2011
    • (2011)Research in concurrent software testingProceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging10.1145/2002962.2002964(1-5)Online publication date: 17-Jul-2011
    • (2011)Formal Analysis of Message PassingVerification, Model Checking, and Abstract Interpretation10.1007/978-3-642-18275-4_2(2-18)Online publication date: 2011
    • (2010)FalconProceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 110.1145/1806799.1806838(245-254)Online publication date: 1-May-2010
    • Show More Cited By

    View Options

    Get Access

    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