SPINning Parallel Systems Software
O. S. Matlin, E. Lusk, and W. McCune

TL;DR
This paper discusses using the SPIN model checker to verify dynamic, distributed parallel system components, specifically the MPD system, highlighting challenges and results of simulation and verification.
Contribution
It demonstrates how SPIN can be applied to verify dynamic parallel algorithms in a real-world system, addressing performance and scalability issues.
Findings
Successful modeling of MPD's dynamic processes in SPIN
Effective simulation and verification of parallel algorithms
Insights into performance challenges of verification
Abstract
We describe our experiences in using SPIN to verify parts of the Multi Purpose Daemon (MPD) parallel process management system. MPD is a distributed collection of processes connected by Unix network sockets. MPD is dynamic: processes and connections among them are created and destroyed as MPD is initialized, runs user processes, recovers from faults, and terminates. This dynamic nature is easily expressible in the SPIN/PROMELA framework but poses performance and scalability challenges. We present here the results of expressing some of the parallel algorithms of MPD and executing both simulation and verification runs with SPIN.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Distributed systems and fault tolerance
