Three High Performance Architectures in the Parallel APMC Boat

Approximate probabilistic model checking, and more generally sampling based model checking methods, proceed by drawing independent executions of a given model and by checking a temporal formula on these executions. In theory, these methods can be easily massively parallelized, but in practice one has to consider, for this purpose, important aspects such as the communication paradigm, the physical architecture of the machine, etc. Moreover, being able to develop multiple implementations of this algorithm on architectures as different as a cluster or many-cores requires various levels of expertise that may be problematic to gather. In this paper we propose to investigate the runtime behavior of approximate probabilistic model checking on various state of the art parallel machines - clusters, SMP, hybrid SMP clusters and the Cell processor - using a high-level parallel programming tool based on the Bulk Synchronous Parallelism paradigm to quickly instantiate model checking problems over a large variety of parallel architectures. Our conclusion assesses the relative efficiency of these architectures with respect to the algorithm classes and promotes guidelines for further work on parallel APMC implementation.

[1]  Thomas Hérault,et al.  Distribution, Approximation and Probabilistic Model Checking , 2006, PDMC@ICALP.

[2]  Alan J. Wallcraft SPMD OpenMP versus MPI for ocean models , 2000, Concurr. Pract. Exp..

[3]  Andrew Hinton,et al.  PRISM: A Tool for Automatic Verification of Probabilistic Systems , 2006, TACAS.

[4]  Radu Grosu,et al.  Monte Carlo Model Checking , 2005, TACAS.

[5]  Mahesh Viswanathan,et al.  Statistical Model Checking of Black-Box Probabilistic Systems , 2004, CAV.

[6]  Luca de Alfaro,et al.  Symbolic Model Checking of Probabilistic Processes Using MTBDDs and the Kronecker Representation , 2000, TACAS.

[7]  Rob H. Bisseling,et al.  Scientific Computing on Bulk Synchronous Parallel Architectures , 1994, IFIP Congress.

[8]  G. Mahinthakumar,et al.  A Hybrid Mpi-Openmp Implementation of an Implicit Finite-Element Code on Parallel Architectures , 2002, Int. J. High Perform. Comput. Appl..

[9]  Franck Cappello,et al.  MPI versus MPI+OpenMP on the IBM SP for the NAS Benchmarks , 2000, ACM/IEEE SC 2000 Conference (SC'00).

[10]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[11]  Thomas Hérault,et al.  Approximate Probabilistic Model Checking , 2004, VMCAI.

[12]  David B. Skillicorn,et al.  Models and languages for parallel computation , 1998, CSUR.

[13]  Luc Giraud,et al.  Combining Shared and Distributed Memory Programming Models on Clusters of Symmetric Multiprocessors: Some Basic Promising Experiments , 2002, Int. J. High Perform. Comput. Appl..

[14]  Ajit Singh,et al.  Design Patterns for Parallel Programming , 1996, PDPTA.

[15]  Kevin Hammond,et al.  Research Directions in Parallel Functional Programming , 1999, Springer London.

[16]  Frédéric Loulergue,et al.  Bulk synchronous parallel ML with exceptions , 2006, Future Gener. Comput. Syst..

[17]  Richard M. Karp,et al.  Monte-Carlo algorithms for enumeration and reliability problems , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[18]  Thomas Hérault,et al.  Cell Assisted APMC , 2008, 2008 Fifth International Conference on Quantitative Evaluation of Systems.

[19]  Frédéric Loulergue,et al.  Bulk Synchronous Parallel ML: Modular Implementation and Performance Prediction , 2005, International Conference on Computational Science.

[20]  Olaf Bonorden,et al.  The Paderborn University BSP (PUB) library , 2003, Parallel Comput..

[21]  Thomas Hérault,et al.  APMC 3.0: Approximate Verification of Discrete and Continuous Time Markov Chains , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[22]  Mihalis Yannakakis,et al.  The complexity of probabilistic verification , 1995, JACM.

[23]  Martin Beran Decomposable Bulk Synchronous Parallel Computers , 1999, SOFSEM.

[24]  Richard Lassaigne,et al.  Probabilistic verification and approximation , 2008, Ann. Pure Appl. Log..

[25]  Amir Pnueli,et al.  Verification of multiprocess probabilistic protocols , 1984, PODC '84.

[26]  Torsten Suel,et al.  BSPlib: The BSP programming library , 1998, Parallel Comput..

[27]  Franck Cappello,et al.  Performance comparison of MPI and OpenMP on shared memory multiprocessors , 2006, Concurr. Comput. Pract. Exp..

[28]  Akim Demaille,et al.  Modeling of Sensor Networks Using XRM , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[29]  Frédéric Gava,et al.  New syntax of a High-level BSP language , 2009 .

[30]  Nectarios Koziris,et al.  Performance comparison of pure MPI vs hybrid MPI-OpenMP parallelization models on SMP clusters , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[31]  Tiffani L. Williams,et al.  The Heterogeneous Bulk Synchronous Parallel Model , 2000, IPDPS Workshops.

[32]  Håkan L. S. Younes,et al.  Probabilistic Verification of Discrete Event Systems Using Acceptance Sampling , 2002, CAV.