• DocumentCode
    2049310
  • Title

    Toward reliable and efficient message passing software through formal analysis

  • Author

    Gopalakrishnan, Ganesh ; Kirby, Robert M.

  • Author_Institution
    Sch. of Comput., Utah Univ., Salt Lake City, UT
  • fYear
    2006
  • fDate
    25-29 April 2006
  • Abstract
    The quest for high performance drives parallel scientific computing software design. Well over 60% of the high-performance computing (HPC) community writes programs using the MPI library; to gain performance, they are known to perform many manual optimizations. Even tools that accept high level descriptions often generate MPI code, due to its eminent portability. However, since the overall performance of a program does not usually port (due to variations in the target architecture, cluster size, etc.), manual changes to the code are inevitable in today´s approaches to MPI programming and optimization. This, together with the vastness and evolving nature of the MPI standard, and the innate complexity of concurrent programming introduces costly bugs. Our research addresses these challenges through specific efforts in the following broad areas: (i) high level expression of the parallel algorithm and compilation thereof into optimized MPI programs, (ii) optimizations of user-written detailed MPI programs through localized transformations such as barrier removal, (iii) formal modeling of complex communication standards, such as the MPI-2 standard and a facility for answering putative queries (this need arises when standard documents are impossibly difficult to manually study in order to answer questions that are not explicitly addressed in the standard), (iv) formal modeling of new (and hence relatively less well understood) features of communication libraries, such as the one-sided communication facility of MPI-2, and (v) formal modeling of intricate control algorithms in these libraries such as the progress engine for TCP and/or shared memory in MPICH2 (a formal model can explicate commonalities, help formally verify, as well as help create better future implementations). Our research gains focus through numerous collaborations
  • Keywords
    formal verification; message passing; optimisation; parallel algorithms; MPI optimization; MPI programming; TCP progress engine; communication library; concurrent programming; formal analysis; formal modeling; high-performance computing; message passing software; parallel algorithm; parallel scientific computing software design; shared memory system; Communication standards; Communication system control; Computer bugs; High performance computing; Message passing; Parallel algorithms; Performance gain; Scientific computing; Software design; Software libraries;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium, 2006. IPDPS 2006. 20th International
  • Conference_Location
    Rhodes Island
  • Print_ISBN
    1-4244-0054-6
  • Type

    conf

  • DOI
    10.1109/IPDPS.2006.1639578
  • Filename
    1639578