A Case Study in Using Formal Methods to Verify Programs That Use MPI One-Sided Communication

نویسندگان

  • Salman Pervez
  • Ganesh Gopalakrishnan
  • Robert M. Kirby
  • Rajeev Thakur
  • William Gropp
چکیده

We used formal-verification methods based on model checking to analyze the correctness properties of one existing and two new distributed-locking algorithms implemented by using MPI’s one-sided communication. Model checking exposed an overlooked correctness issue with the existing algorithm, which had been developed by relying solely on manual reasoning. Model checking also helped confirm the basic correctness properties of the two new algorithms. Performance evaluation of the new algorithms on up to 128 processors revealed that one of them outperforms the other, especially under heavy lock contention. Our experience is that MPI-based programming, especially the tricky and relatively poorly understood one-sided communication features, stand to gain immensely from model checking. This, as well as the existing practice of routinely employing model checking in many areas of concurrent hardware and software design, confirms that the MPI community can benefit greatly from the use of formal verification.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Formal Verification of Programs That Use MPI One-Sided Communication

We used formal-verification methods based on model checking to analyze the correctness properties of one existing and two new distributed-locking algorithms implemented by using MPI’s one-sided communication. Model checking exposed an overlooked correctness issue with the first algorithm, which had been developed by relying only on manual reasoning. Model checking helped confirm the basic corre...

متن کامل

Formal Methods Applied to HPC Software Design: A Case Study of Locking Based on MPI One-Sided Communication

There is growing need to address the complexity of modeling and verifying the numerous concurrent protocols involved in high-performance computing (HPC) software design. Finite-state modeling and formal verification (FV) using model-checking technology have made impressive inroads into debugging concurrent protocols. However, there remains a dearth of research in applying model-checking methods...

متن کامل

Modeling Mpi Programs for Verification

We investigate the application of formal verification techniques to parallel programs that employ the Message Passing Interface (MPI). We develop a formal model sufficient to represent programs that use a particular subset of MPI, and then prove a number of theorems about that model that ameliorate the state explosion problem or that show that certain properties of particular programs must nece...

متن کامل

MPI-2 One-Sided Usage and Implementation for Read Modify Write Operations: A Case Study with HPCC

MPI-2’s one-sided communication interface has become prevalent in scientific applications. One of the important operations in a one sided model is read-modifywrite. MPI-2 semantics provide MPI Put, MPI Get and MPI Accumulate operations which can be used to implement the read-modify-write functionality. The different strategies yield varying performance benefits depending on the underlying one-s...

متن کامل

The Communication Semantics of the Message Passing Interface

The Message Passing Interface (MPI) standard is a natural language document that describes a software library for interprocess communication. Automatic reasoning about the reactive nature of programs communicating via MPI libraries is not possible without also analizing the library being used. Many distributed programs that use MPI are relatively brief compared to the libraries that implement M...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006