Download Document

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
How Fast and Fat Is
Your Probabilistic Model Checker?
an experimental performance comparison
David N. Jansen3,1, Joost-Pieter Katoen1,2, Marcel Oldenkamp2,
Mariëlle Stoelinga2, Ivan Zapreev1,2
1
MOVES Group, RWTH Aachen University
2 FMT Group, University of Twente, Enschede
3 ICIS, Radboud University, Nijmegen
Probabilistic
Model Checking
Probabilistic System
Probabilistic Requirement
PRISM PRISM
MRMC (hybrid) (sparse)
VESTA
Probabilistic
Model
Probabilistic
Formula
ETMCC


Probabilistic
YMER
Model Checker
Yes
No
Probability
Why This Work?
• Used more often
– applications: distributed systems, security,
biology, quantum computing...
• Powerful tools
• Problem: Which tool to choose?
Probabilistic
Model Checkers
Probabilistic System
Probabilistic Requirement
Probabilistic Model
Probabilistic Formula
Probabilistic
Model Checker
Yes
No
Probability
Tools
statist
PRISM
sparse
VESTA
YMER
numerical
ETMC
C
MRMC
PRISM
hybrid
CTMC
Java
DTMC + CTMC
DTMC + CTMC
MTBDD for transition
matrix
DTMC + CTMC
sparse transition matrix
CTMC, no S
CTMC, only U ≤t
C
C(++
) and
Java
Java
C(++
Experiment Relevance
•
•
•
•
Repeatable
Verifiable
Significant
Encapsulated
Selected Benchmarks
Synchronous Leader Election
discrete time
Randomized Dining Philosophers discrete time
Birth–Death Process
discrete time
Tandem Queuing Network
continuous time
Cyclic Server Polling
continuous time
Synchronous
Leader Election
• nodes in a ring elect a leader
– each node selects random number as id
– passes it around the ring (synchronously)
– if  unique id,
node with maximum unique id is leader
• [Itai & Rodeh, 1990]
Synchronous
Leader Election
1
4
2
2
5
3
1
5
Synchronous
Leader Election
1
2
5
4
1
1
5
4
4
4
1
2
1
5
2
5
1
2
3
5
1
3
2
3
5
2
3
5
1
Randomized
Dining Philosophers
• Dining Philosophers
– pick up chopsticks in random order
• Deadlocks resolved
– if there is no second chopstick,
give up eating
• [Pnueli & Zuck, 1986]
Birth–Death Process
• Models a waiting queue
• Standard model
in performance evaluation
• Limit queue size to get finite model
Tandem Queueing Network
• Two queues after each other
checkin
counter
security
check
two-phase
exponential
• [Hermanns, Meyer-Kayser & Siegle, 1999]
Cyclic Polling System
• server cycles over n stations
and serves each one in turn
– e.g. teacher walks through class,
each pupil may ask a question
• [Ibe & Trivedi, 1990]
Modelling
informal
description
PRISM
model
.tra format
model
ETMCC
MRMC
adapt
syntax
VESTA
model
YMER
model
PRISM
YMER
VESTA
Experiment 1
Qualitative Properties
• unbounded reachability with prob 1
• Cyclic Polling System:
busy1  P≥1(true U poll1)
If station 1 is busy,
the server will poll it eventually
log.scale model check time (sec.)
10000
1000
100
10
1
0,1
0,01
0,001
0,0001
log.scale VSZ memory (Kbytes)
0,00001
3
10000000
6
9
12
15
18
number of stations n
1000000
100000
mrmc
prism hybrid
prism sparse
etmcc
ymer
vesta
10000
1000
100
10
1
3
6
9
12
15
18
number of stations n
PRISM: MTBDD Size
• Multi-Terminal BDD =
data structure for transition matrix
• size heavily depends on model
• large MTBDD  slow
Model
# states # MTBDD nodes
Synchronous
500.000
1.000.000 .
leader election
Cyclic polling 7.000.000
< 3.000 .
log.scale model check time (sec.)
CPS versus SLE runtime
10000
1000
100
10
1
0,1
0,01
100000
10000
1000
100
10
1
0,1
0,01
0,001
0,001
0,0001
0,0001
4_4
,00001
3
6
9
12
15
18
number of stations n
7.077.888 states
2.745 MTBDD nodes
4_8
4_12
4_16
8_2
8_4
number of processes_random set size n_k
mrmc
prism hybrid
prism sparse
etmcc
ymer
vesta
458.847 states
1.131.806
MTBDD nodes
VESTA:
simulation problem
•
•
•
•
actual probability close to bound P≥p(...)
estimate is almost always in [p–,p+]
some irregularity stops the simulation
0.95  Prob(yes  actual Prob≥p)
 Prob(actual Prob≥p  yes)
P≥1(... U ...)
Timing Overview
1E+3
time [sec]
1E+0
1E-3
ETMCC
MRMC
PRISM hybrid
PRISM sparse
VESTA
1E-6
1E+0
1E+3
1E+6
number of states
1E+9
Analysis
ETMCC
slow, out of memory
MRMC
fastest tool for small models
PRISM
only symbolic  sparse=hybrid
depends on MTBDD size
VESTA
excessive number of samples, slow
YMER
not implemented
Result Overview: Timing
ETMCC MRMC PRISM PRISM VESTA YMER
hybrid sparse
unb’nded U
–
+
+/++ +/++
depends heavily
on MTBDD size
–/0
N/A
Result Overview: Memory
ETMCC MRMC PRISM PRISM VESTA YMER
hybrid sparse
unb’nded U
–
+
+/++ +/++
0/+
N/A
MTBDD size almost independent
varies heavily
from model size
Experiment 2
Bounded Reachability
• Tandem Queueing Network:
P<0.01(true U ≤2 full )
Is the probability
that the system gets full in 2 time units
small?
log.scale model check time (sec.)
10000
1000
100
10
1
0,1
0,01
0,001
0,0001
log.scale VSZ memory (Kbytes)
0,00001
10
50
10000000
100
255
511
1023
queue size n
1000000
100000
mrmc
prism hybrid
prism sparse
etmcc
ymer
vesta
10000
1000
100
10
1
10
50
100
255
511
1023
queue size n
Analysis
ETMCC
slow, out of memory
PRISM
sparse=faster, hybrid=smaller
MRMC
fast for small models
VESTA
YMER
ok
if you can afford statistical errors
best choice
if you can afford statistical errors
Result Overview: Timing
ETMCC MRMC PRISM PRISM VESTA YMER
hybrid sparse
unb’nded U
bounded U
–
–
+
+
+/++ +/++
0/+ +/++
–/0
+
N/A
++
Result Overview: Memory
ETMCC MRMC PRISM PRISM VESTA YMER
hybrid sparse
unb’nded U
bounded U
–
–
+
+
+/++ +/++
+/++ +
0/+
+
N/A
++
Experiment 3
Steady State Property
• Tandem Queuing Network
S>0.2( P
P>0.1
(X 2nd
2nd queue
queue full
full )) )
>0.1(X
In equilibrium,
the probability to satisfy P>0.1(X ... )
is > 0.2
log.scale model check time (sec.)
10000
1000
100
10
1
0,1
0,01
0,001
0,0001
log.scale VSZ memory (Kbytes)
0,00001
10
10000000
50
100
255
511
1023
queue size n
1000000
100000
mrmc
prism hybrid
prism sparse
etmcc
ymer
vesta
10000
1000
100
10
1
10
50
100
255
511
1023
queue size n
Simulating Steady State?
• simulation of bounded reachability
has clear stopping criterion
• simulation of unbounded reachability
 reachability with very large bound
• simulation of steady state?
 never stops
Analysis
ETMCC
slow, out of memory
PRISM
sparse=faster
hybrid=slightly smaller
MRMC
fastest
VESTA
not implemented
YMER
not implemented
Result Overview: Timing
ETMCC MRMC PRISM PRISM VESTA YMER
hybrid sparse
unb’nded U
bounded U
steady state
–
–
–
+
+
++
+/++ +/++
0/+ +/++
0/+
+
–/0
+
N/A
N/A
N/A
++
Result Overview: Memory
ETMCC MRMC PRISM PRISM VESTA YMER
hybrid sparse
unb’nded U
bounded U
steady state
–
–
–
+
+
+
+/++ +/++
+/++ +
+/++ +
0/+
+
N/A
N/A
N/A
++
Nested Formulas
• Birth–Death Process:
P≥0.8(P≥0.9(true U ≤100 n70) U n50)
The probability to reach n50
(while the probability to reach n70
in 100 steps never drops <0.9)
is ≥0.8
log.scale model check time (sec.)
10000
1000
100
10
1
0.1
0.01
0.001
0.0001
log.scale VSZ memory (Kbytes)
0.00001
100
10000000
1000
10000
100000
maximum population size m
1000000
100000
mrmc
prism hybrid
prism sparse
etmcc
ymer
vesta
10000
1000
100
10
1
100
1000
10000
100000
maximum population size m
Result Overview: Timing
ETMCC MRMC PRISM PRISM VESTA YMER
hybrid sparse
unb’nded U
bounded U
steady state
nested
–
–
–
–
+
+
++
++
+/++ +/++
0/+ +/++
0/+
+
0/+
+
–/0
+
N/A
N/A
N/A
––
N/A
++
did not terminate
Result Overview: Memory
ETMCC MRMC PRISM PRISM VESTA YMER
hybrid sparse
unb’nded U
bounded U
steady state
nested
–
–
–
–
+
+
+
+
+/++ +/++
+/++ +
+/++ +
+/++ +
0/+
+
N/A
N/A
N/A
N/A
N/A
++
Conclusions
ETMCC
MRMC
PRISM
hybrid
PRISM
sparse
VESTA
YMER
worst, only small models
fastest for small models
fast if MTBDD is small
fast
rather slow, no S , statistical errors
slim & very fast, only U ≤t,
few statistical errors
Related documents