Palm CalculusMade Easy
The Importance of the ViewpointJY Le Boudec
1
Contents
1. Informal Introduction2. Palm Calculus
3. Other Palm Calculus Formulae4. Application to RWP
5. Other Examples6. Perfect Simulation
2
1. Event versus Time AveragesConsider a simulation, state St
Assume simulation has a stationary regime
Consider an Event Clock: times Tn at which some specific changes of state occur
Ex: arrival of job; Ex. queue becomes empty
Event average statistic
Time average statistic
3
Example: Gatekeeper; Average execution time
4
0 90 100 190 200 290 300
50001000
Real time t (ms)
job arrival
50001000
50001000
Execution time for a job that
arrives at t (ms)
Viewpoint 1: System Designer Viewpoint 2: Customer
Example: Gatekeeper; Average execution time
5
0 90 100 190 200 290 300
50001000
Real time t (ms)
job arrival
50001000
50001000
Execution time for a job that
arrives at t (ms)
Viewpoint 1: System Designer Viewpoint 2: Customer
Two processes, with execution times 5000 and 1000 Inspector arrives at a random time
red processor is used with proba
Sampling BiasWs and Wc are different
A metric definition should mention the sampling method (viewpoint)Different sampling methods may provide different values: this is the sampling bias
Palm Calculus is a set of formulas for relating different viewpoints
Can often be obtained by means of the Large Time Heuristic
6
Large Time Heuristic Explained
on an Example
We want to relate and We apply the large time heuristic
1. How do we evaluate these metrics in a simulation ?
7
Large Time Heuristic Explained
on an Example
We want to relate and We apply the large time heuristic
1. How do we evaluate these metrics in a simulation ?
where index of next green or red arrow at or after
8
Large Time Heuristic Explained
on an Example
2. Break one integral into pieces that match the ’s:
9
Large Time Heuristic Explained
on an Example
2. Break one integral into pieces that match the ’s:
10
Large Time Heuristic Explained
on an Example
3. Compare
11
Large Time Heuristic Explained
on an Example
3. Compare
12
This is Palm Calculus !
13
𝑊 𝑐=𝜆cov (𝑆 ,𝑋 )+𝑊 𝑠
Sn = 90, 10, 90, 10, 90
Xn = 5000, 1000, 5000, 1000, 5000
Correlation is >0
Wc > Ws
When do the two viewpoints coincide ? 14
The Large Time Heuristic
Formally correct ifsimulation is stationary
It is a robust method, i.e. independent of assumptions on distributions (and on independence)
15
Other «Clocks»
16
Flow 1 Flow 2
Flow 3
Distribution of flow sizesfor an arbitrary flowfor an arbitrary packet
17
Load Sensitive Routing of Long-Lived IP FlowsAnees Shaikh, Jennifer Rexford and Kang G. Shin
Proceedings of Sigcomm'99
ECDF, per flow viewpoint
ECDF, per packet viewpoint
Mean flow size:per flow per packet
18
Flow 1 Flow 2
Flow 3
Distribution of flow sizesfor an arbitrary flowfor an arbitrary packet
Large «Time» Heuristic1. How do we evaluate these metrics in a simulation ?
2. Put the packets side by side, sorted by flow
19
Flow n=1 Flow n=2 Flow n=3
p=1 p=2 p=3 p=4 p=5 p=6 p=7 p=8 p=9
Large «Time» Heuristic1. How do we evaluate these metrics in a simulation ?
per flow per packet where when packet belongs to flow
2. Put the packets side by side, sorted by flow
20
Flow n=1 Flow n=2 Flow n=3
p=1 p=2 p=3 p=4 p=5 p=6 p=7 p=8 p=9
𝑆𝑃=1𝑃 (𝑆1+𝑆1+𝑆2+𝑆2+𝑆3+𝑆3+𝑆3+𝑆3+𝑆3+…)
Large «Time» Heuristic
3. Compare
21
Flow n=1 Flow n=2 Flow n=3
p=1 p=2 p=3 p=4 p=5 p=6 p=7 p=8 p=9
Large «Time» Heuristic
3. Compare
22
Flow n=1 Flow n=2 Flow n=3
p=1 p=2 p=3 p=4 p=5 p=6 p=7 p=8 p=9
Large «Time» Heuristic for PDFs of flow sizesPut the packets side by side, sorted by flow
1. How do we evaluate these metrics in a simulation ?
23
Flow n=1 Flow n=2 Flow n=3
24
Cyclist’s ParadoxOn a round trip tour, there is more uphills than downhills
25
The km clock vs the standard clock
speed for the kilometer
26
27
2. Palm Calculus : Framework
A stationary process (simulation) with state St.
Some quantity Xt measured at time t. Assume that
(St;Xt) is jointly stationary
I.e., St is in a stationary regime and Xt depends on the past, present and future state of the simulation in a way that is invariant by shift of time origin.Examples
St = current position of mobile, speed, and next waypoint
Jointly stationary with St: Xt = current speed at time t; Xt = time to be run until next waypointNot jointly stationary with St: Xt = time at which last waypoint occurred
Stationary Point Process
Consider some selected transitions of the simulation, occurring at times Tn.
Example: Tn = time of nth trip end
Tn is a called a stationary point process associated to St
Stationary because St is stationary
Jointly stationary with St
Time 0 is the arbitrary point in time
28
29
Palm ExpectationAssume: Xt, St are jointly stationary, Tn is a stationary point process associated with St
Definition : the Palm Expectation is
Et(Xt) = E(Xt | a selected transition occurred at time t)
By stationarity:
Et(Xt) = E0(X0)
Example: Tn = time of nth trip end, Xt = instant speed at time t
Et(Xt) = E0(X0) = average speed observed at a waypoint
30
E(Xt) = E(X0) expresses the time average viewpoint.
Et(Xt) = E0(X0) expresses the event average viewpoint.
Example for random waypoint: Tn = time of nth trip end, Xt = instant speed at time t
Et(Xt) = E0(X0) = average speed observed at trip end
E(Xt)=E(X0) = average speed observed at an arbitrary point in time
Xn
Xn+1
33
Intensity of a Stationary Point Process Intensity of selected transitions: := expected number of transitions per time unit
34
Two Palm Calculus Formulae Intensity Formula:
where by convention T0 ≤ 0 < T1
Inversion Formula
The proofs are simple in discrete time – see lecture notes
35
3. Other Palm Calculus Formulae
36
Joe’ sWaiting Time
mean waiting time
37
mean time between busessystem’s viewpoint
penalty due to variability
38
Feller’s Paradox
We encountered Feller’s Paradox Already
39
40
For a Poisson process, what is the mean length of an interval ?
Rate Conservation Law
41
42
43
Campbell’s Formula
Shot noise model: customer n adds a load h(t-Tn,Zn) where Zn is some attribute and Tn is arrival time
Example: TCP flow: L = λV with L = bits per second, V = total bits per flow and λ= flows per sec
44
t
Total load
T1 T2 T3
Little’s Formula
45
t
Total load
T1 T2 T3
4. RWP and Freezing SimulationsModulator Model:
46
Is the previous simulation stationary ?Seems like a superfluous question, however there is a difference in viewpoint between the epoch n and time
Let Sn be the length of the nth epoch
If there is a stationary regime, then by the inversion formula
so the mean of Sn must be finite
This is in fact sufficient (and necessary)
47
48
Application to RWP
49
Time Average Speed, Averaged over n independent mobiles
Blue line is one sampleRed line is estimate of E(V(t))
50
A Random waypoint model that has no stationary regime !
Assume that at trip transitions, node speed is sampled uniformly on [vmin,vmax]
Take vmin = 0 and vmax > 0
Mean trip duration = (mean trip distance)
Mean trip duration is infinite !
Was often used in practice
Speed decay: “considered harmful” [YLN03]
max
0max
1 v
vdv
v
What happens when the model does not have a stationary regime ?
The simulation becomes old
Stationary Distribution of Speed(For model with stationary regime)
Closed Form Assume a stationary regime exists and simulation is run long enoughApply inversion formula and obtain distribution of instantaneous speed V(t)
54
Removing Transient MattersA. In the mobile case, the nodes are more often towards the center, distance between nodes is shorter, performance is betterThe comparison is flawed. Should use for static case the same distribution of node location as random waypoint. Is there such a distribution to compare against ?
Random waypoint
Static
A (true) example: Compare impact of mobility on a protocol:
Experimenter places nodes uniformly for static case, according to random waypoint for mobile caseFinds that static is better
Q. Find the bug !
A Fair Comparison
We revisit the comparison by sampling the static case from the stationary regime of the random waypoint
Random waypoint
Static, from uniform
Static, same node location as RWP
56
Is it possible to have the time distribution of speed uniformly distributed in [0; vmax] ?
57
5. PASTAThere is an important case where Event average = Time average“Poisson Arrivals See Time Averages”
More exactly, should be: Poisson Arrivals independent of simulation state See Time Averages
58
59
6. Perfect SimulationAn alternative to removing transientsPossible when inversion formula is tractableExample : random waypoint
Same applies to a large class of mobility models
60
61
Removing Transients May Take Long
If model is stable and initial state is drawn from distribution other than time-stationary distribution
The distribution of node state converges to the time-stationary distribution
Naïve: so, let’s simply truncate an initial simulation duration
The problem is that initial transience can last very long
Example [space graph]: node speed = 1.25 m/sbounding area = 1km x 1km
62
Perfect simulation is highly desirable (2)
Distribution of path:
Time = 100s
Time = 50s
Time = 300s
Time = 500s
Time = 1000s
Time = 2000s
Solution: Perfect SimulationDef: a simulation that starts with stationary distributionUsually difficult except for specific modelsPossible if we know the stationary distribution
Sample Prev and Next waypoints from their joint stationary distributionSample M uniformly on segment [Prev,Next]Sample speed V from stationary distribution
Stationary Distrib of Prev and Next
65
Stationary Distribution of Location Is also Obtained By Inversion Formula
66
No Speed Decay
68
Perfect Simulation AlgorithmSample a speed V(t) from the time stationary distributionHow ?A: inversion of cdf
Sample Prev(t), Next(t)How ?
Sample M(t)
ConclusionsA metric should specify the sampling methodDifferent sampling methods may give very different valuesPalm calculus contains a few important formulas
Which ones ?
Freezing simulations are a pattern to be aware of