how fast and fat is your probabilistic model checker?

40
How Fast and Fat Is Your Probabilistic Model Checker? an experimental performance comparison David N. Jansen 3,1 , Joost-Pieter Katoen 1,2 , Marcel Oldenkamp 2 , Mariëlle Stoelinga 2 , Ivan Zapreev 1,2 1 MOVES Group, RWTH Aachen University 2 FMT Group, University of Twente, Enschede 3 ICIS, Radboud University, Nijmegen

Upload: zander

Post on 11-Jan-2016

26 views

Category:

Documents


1 download

DESCRIPTION

How Fast and Fat Is Your Probabilistic Model Checker?. an experimental performance comparison David N. Jansen 3,1 , Joost-Pieter Katoen 1,2 , Marcel Oldenkamp 2 , Mari ëlle Stoelinga 2 , Ivan Zapreev 1,2 1 MOVES Group, RWTH Aachen University 2 FMT Group, University of Twente, Enschede - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: How Fast and Fat Is Your Probabilistic Model Checker?

How Fast and Fat IsYour 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 University2 FMT Group, University of Twente, Enschede3 ICIS, Radboud University, Nijmegen

Page 2: How Fast and Fat Is Your Probabilistic Model Checker?

ProbabilisticModel Checker

ProbabilisticModel Checking

Probabilistic System Probabilistic Requirement

≤Probabilistic Model Probabilistic Formula

Yes No

Probability

ETMCC

MRMCPRISM(sparse)

PRISM(hybrid)

YMER

VESTA

Page 3: How Fast and Fat Is Your Probabilistic Model Checker?

Why This Work?• Used more often

– applications: distributed systems, security, biology, quantum computing...

• Powerful tools

• Problem: Which tool to choose?

Page 4: How Fast and Fat Is Your Probabilistic Model Checker?

ProbabilisticModel Checker

ProbabilisticModel Checkers

Probabilistic System Probabilistic Requirement

Probabilistic Model Probabilistic Formula

Yes No

Probability

Choices made

Four examples

Overall evaluation

Page 5: How Fast and Fat Is Your Probabilistic Model Checker?

ToolsETMCC

numerical

CTMC Java

MRMC DTMC + CTMC C

PRISM hybrid

DTMC + CTMCMTBDD for transition matrix

C(++) and JavaPRISM

sparse

DTMC + CTMCsparse transition matrix

VESTAstatis

tCTMC, no S Java

YMER CTMC, only U ≤t C(++)

Page 6: How Fast and Fat Is Your Probabilistic Model Checker?

Experiment Relevance

• Repeatable• Verifiable• Significant• Encapsulated

Page 7: How Fast and Fat Is Your Probabilistic Model Checker?

Selected Benchmarks

Synchronous Leader Election

discrete time

Randomized Dining Philosophers

discrete time

Birth–Death Processdiscrete time

Tandem Queuing Networkcontinuous time

Cyclic Server Pollingcontinuous time

Page 8: How Fast and Fat Is Your Probabilistic Model Checker?

SynchronousLeader 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]

Page 9: How Fast and Fat Is Your Probabilistic Model Checker?

SynchronousLeader Election

1

3

2

1

5

5

42

Page 10: How Fast and Fat Is Your Probabilistic Model Checker?

5

4

1

2 2

3

5

14

1

2

2 3

5

1

51

2

2

3 5

1

5

4

SynchronousLeader Election

1

3

2

1

5

5

42

Page 11: How Fast and Fat Is Your Probabilistic Model Checker?

RandomizedDining Philosophers

• Dining Philosophers– pick up chopsticks in random order

• Deadlocks resolved– if there is no second chopstick,give up eating

• [Pnueli & Zuck, 1986]

Page 12: How Fast and Fat Is Your Probabilistic Model Checker?

Birth–Death Process

• Models a waiting queue• Standard modelin performance evaluation

• Limit queue size to get finite model

Page 13: How Fast and Fat Is Your Probabilistic Model Checker?

Tandem Queueing Network

• Two queues after each other

• [Hermanns, Meyer-Kayser & Siegle, 1999]

checkincounter

two-phase

security check

exponential

Page 14: How Fast and Fat Is Your Probabilistic Model Checker?

Cyclic Polling System• server cycles over n stationsand serves each one in turn– e.g. teacher walks through class,each pupil may ask a question

• [Ibe & Trivedi, 1990]

Page 15: How Fast and Fat Is Your Probabilistic Model Checker?

Modelling

PRISMmodel

.tra formatmodel

PRISM

YMERmodel

ETMCC MRMC YMER VESTA

VESTAmodel

adaptsyntax

informaldescription

Page 16: How Fast and Fat Is Your Probabilistic Model Checker?

Experiment 1Qualitative 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

Page 17: How Fast and Fat Is Your Probabilistic Model Checker?

1

10

100

1000

10000

100000

1000000

10000000

3 6 9 12 15 18number of stations n

log.scale VSZ memory (Kbytes)

mrmcprism hybridprism sparseetmccymervesta

0,00001

0,0001

0,001

0,01

0,1

1

10

100

1000

10000

3 6 9 12 15 18number of stations n

log.scale model check time (sec.)

Page 18: How Fast and Fat Is Your Probabilistic Model Checker?

PRISM: MTBDD Size

• Multi-Terminal BDD =data structure for transition matrix

• size heavily depends on model• large MTBDD slow

Model#

states# MTBDD nodes

Synchronous leader election

500.0001.000.000

.

Cyclic polling

7.000.000

< 3.000 .

Page 19: How Fast and Fat Is Your Probabilistic Model Checker?

CPS versus SLE runtime

0,0001

0,001

0,01

0,1

1

10

100

1000

10000

100000

4_4 4_8 4_12 4_16 8_2 8_4number of processes_random set size n_k

log.scale model check time (sec.)

0,00001

0,0001

0,001

0,01

0,1

1

10

100

1000

10000

3 6 9 12 15 18number of stations n

log.scale model check time (sec.)

mrmcprism hybridprism sparseetmccymervesta

7.077.888 states2.745 MTBDD nodes

458.847 states1.131.806 MTBDD nodes

Page 20: How Fast and Fat Is Your Probabilistic Model Checker?

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)

Page 21: How Fast and Fat Is Your Probabilistic Model Checker?

P≥1(... U ...)Timing Overview

1E-6

1E-3

1E+0

1E+3

1E+0 1E+3 1E+6 1E+9

number of states

time [sec]

ETMCCMRMCPRISM hybrid

PRISM sparseVESTA

Page 22: How Fast and Fat Is Your Probabilistic Model Checker?

Analysis

ETMCC slow, out of memory

MRMC fastest tool for small models

PRISM only symbolic sparse=hybriddepends on MTBDD size

VESTAexcessive number of samples, slow

YMER not implemented

Page 23: How Fast and Fat Is Your Probabilistic Model Checker?

depends heavilyon MTBDD sizedepends heavilyon MTBDD sizedepends heavilyon MTBDD size

Result Overview: Timing

ETMCC MRMC PRISM hybri

d

PRISM spars

e

VESTA YMER

unb’nded U – +

+/++

+/++

–/0 N/A

Page 24: How Fast and Fat Is Your Probabilistic Model Checker?

Result Overview: Memory

ETMCC MRMC PRISM hybri

d

PRISM spars

e

VESTA YMER

unb’nded U – +

+/++

+/++

0/+ N/A

MTBDD sizevaries heavily

almost independentfrom model size

Page 25: How Fast and Fat Is Your Probabilistic Model Checker?

Experiment 2Bounded Reachability

• Tandem Queueing Network:

P<0.01(true U ≤2 full )

Is the probabilitythat the system gets full in 2 time unitssmall?

Page 26: How Fast and Fat Is Your Probabilistic Model Checker?

1

10

100

1000

10000

100000

1000000

10000000

10 50 100 255 511 1023queue size n

log.scale VSZ memory (Kbytes)

0,00001

0,0001

0,001

0,01

0,1

1

10

100

1000

10000

10 50 100 255 511 1023queue size n

log.scale model check time (sec.)

mrmcprism hybridprism sparseetmccymervesta

Page 27: How Fast and Fat Is Your Probabilistic Model Checker?

Analysis

ETMCC slow, out of memory

PRISMsparse=faster, hybrid=smaller

MRMC fast for small models

VESTAokif you can afford statistical errors

YMERbest choiceif you can afford statistical errors

Page 28: How Fast and Fat Is Your Probabilistic Model Checker?

Result Overview: Timing

ETMCC MRMC PRISM hybri

d

PRISM spars

e

VESTA YMER

unb’nded U – +

+/++

+/++

–/0 N/A

bounded U – + 0/++/++

+ ++

Page 29: How Fast and Fat Is Your Probabilistic Model Checker?

Result Overview: Memory

ETMCC MRMC PRISM hybri

d

PRISM spars

e

VESTA YMER

unb’nded U – +

+/++

+/++

0/+ N/A

bounded U – ++/++

+ + ++

Page 30: How Fast and Fat Is Your Probabilistic Model Checker?

Experiment 3Steady State Property

• Tandem Queuing Network

S>0.2( P>0.1(X 2nd queue full

) )

In equilibrium,the probability to satisfy

is > 0.2

P>0.1(X 2nd queue full )

P>0.1(X ... )

Page 31: How Fast and Fat Is Your Probabilistic Model Checker?

1

10

100

1000

10000

100000

1000000

10000000

10 50 100 255 511 1023queue size n

log.scale VSZ memory (Kbytes)

0,00001

0,0001

0,001

0,01

0,1

1

10

100

1000

10000

10 50 100 255 511 1023queue size n

log.scale model check time (sec.)

mrmcprism hybridprism sparseetmccymervesta

Page 32: How Fast and Fat Is Your Probabilistic Model Checker?

Simulating Steady State?

• simulation of bounded reachabilityhas clear stopping criterion

• simulation of unbounded reachability reachability with very large bound

• simulation of steady state? never stops

Page 33: How Fast and Fat Is Your Probabilistic Model Checker?

Analysis

ETMCC slow, out of memory

PRISMsparse=fasterhybrid=slightly smaller

MRMC fastest

VESTA not implemented

YMER not implemented

Page 34: How Fast and Fat Is Your Probabilistic Model Checker?

Result Overview: Timing

ETMCC MRMC PRISM hybri

d

PRISM spars

e

VESTA YMER

unb’nded U – +

+/++

+/++

–/0 N/A

bounded U – + 0/++/++

+ ++

steady state – ++ 0/+ + N/A N/A

Page 35: How Fast and Fat Is Your Probabilistic Model Checker?

Result Overview: Memory

ETMCC MRMC PRISM hybri

d

PRISM spars

e

VESTA YMER

unb’nded U – +

+/++

+/++

0/+ N/A

bounded U – ++/++

+ + ++

steady state – +

+/++

+ N/A N/A

Page 36: How Fast and Fat Is Your Probabilistic Model Checker?

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

Page 37: How Fast and Fat Is Your Probabilistic Model Checker?

0.00001

0.0001

0.001

0.01

0.1

1

10

100

1000

10000

100 1000 10000 100000maximum population size m

log.scale model check time (sec.)

1

10

100

1000

10000

100000

1000000

10000000

100 1000 10000 100000maximum population size m

log.scale VSZ memory (Kbytes)

mrmcprism hybridprism sparseetmccymervesta

Page 38: How Fast and Fat Is Your Probabilistic Model Checker?

Result Overview: Timing

ETMCC MRMC PRISM hybri

d

PRISM spars

e

VESTA YMER

unb’nded U – +

+/++

+/++

–/0 N/A

bounded U – + 0/++/++

+ ++

steady state – ++ 0/+ + N/A N/A

nested – ++ 0/+ + – – N/Adid not terminate

Page 39: How Fast and Fat Is Your Probabilistic Model Checker?

Result Overview: Memory

ETMCC MRMC PRISM hybri

d

PRISM spars

e

VESTA YMER

unb’nded U – +

+/++

+/++

0/+ N/A

bounded U – ++/++

+ + ++

steady state – +

+/++

+ N/A N/A

nested – ++/++

+ N/A N/A

Page 40: How Fast and Fat Is Your Probabilistic Model Checker?

ConclusionsETMCC worst, only small models

MRMC fastest for small models

PRISM hybrid

fast if MTBDD is small

PRISM sparse

fast

VESTArather slow, no S , statistical errors

YMERslim & very fast, only U ≤t,few statistical errors