4 research outputs found
New Results in Software Model Checking and Analysis
This introductory article surveys new techniques, supported by automated tools, for the analysis of software to ensure reliability and safety. Special focus is on model checking techniques. The article also introduces the five papers that are enclosed in this special journal volume
Analysing the Performance of GPU Hash Tables for State Space Exploration
In the past few years, General Purpose Graphics Processors (GPUs) have been
used to significantly speed up numerous applications. One of the areas in which
GPUs have recently led to a significant speed-up is model checking. In model
checking, state spaces, i.e., large directed graphs, are explored to verify
whether models satisfy desirable properties. GPUexplore is a GPU-based model
checker that uses a hash table to efficiently keep track of already explored
states. As a large number of states is discovered and stored during such an
exploration, the hash table should be able to quickly handle many inserts and
queries concurrently. In this paper, we experimentally compare two different
hash tables optimised for the GPU, one being the GPUexplore hash table, and the
other using Cuckoo hashing. We compare the performance of both hash tables
using random and non-random data obtained from model checking experiments, to
analyse the applicability of the two hash tables for state space exploration.
We conclude that Cuckoo hashing is three times faster than GPUexplore hashing
for random data, and that Cuckoo hashing is five to nine times faster for
non-random data. This suggests great potential to further speed up GPUexplore
in the near future.Comment: In Proceedings GaM 2017, arXiv:1712.0834
On the Scalability of the GPUexplore Explicit-State Model Checker
The use of graphics processors (GPUs) is a promising approach to speed up
model checking to such an extent that it becomes feasible to instantly verify
software systems during development. GPUexplore is an explicit-state model
checker that runs all its computations on the GPU. Over the years it has been
extended with various techniques, and the possibilities to further improve its
performance have been continuously investigated. In this paper, we discuss how
the hash table of the tool works, which is at the heart of its functionality.
We propose an alteration of the hash table that in isolated experiments seems
promising, and analyse its effect when integrated in the tool. Furthermore, we
investigate the current scalability of GPUexplore, by experimenting both with
input models of varying sizes and running the tool on one of the latest GPUs of
NVIDIA.Comment: In Proceedings GaM 2017, arXiv:1712.0834
Parallel probabilistic model checking on general purpose graphics processors
We present algorithms for parallel probabilistic model checking on general purpose graphic processing units (GPGPUs). Our improvements target the numerical components of the traditional sequential algorithms. In particular, we capitalize on the fact that in most of them operations like matrix–vector multiplication and solving systems of linear equations are the main complexity bottlenecks. Since linear algebraic operations can be implemented very efficiently on GPGPUs, the new parallel algorithms show considerable runtime improvements compared to their counterparts on standard architectures. We implemented our parallel algorithms on top of the probabilistic model checker PRISM. The prototype implementation was evaluated on several case studies in which we observed significant speedup over the standard CPU implementation of the tool