Argonne National Laboratory Mathematics and Computer Science Division
Argonne Home > MCS Division >

Publications

S. Pervez, G. Gopalakrishnan, R. M. Kirby, R. Thakur, and W. Gropp, "A Case Study in Using Formal Methods to Verify Programs That Use MPI One-Sided Communication," Preprint ANL/MCS-P1383-1206, December 2006. [pdf]

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


The Office of Advanced Scientific Computing Research | UChicago Argonne LLC | Privacy & Security Notice | ContactUs