LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
aoi_fcfs_dm1.h File Reference

Mean, variance and peak Age of Information of a D/M/1 FCFS queue. More...

Include dependency graph for aoi_fcfs_dm1.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::aoi

Functions

template<class T>
AoiResult< T > line::aoi::aoi_fcfs_dm1 (const T &tau, const T &mu)
 Mean, variance and peak Age of Information of a D/M/1 FCFS queue.

Detailed Description

Mean, variance and peak Age of Information of a D/M/1 FCFS queue.

Templated port of matlab/src/api/aoi/aoi_fcfs_dm1.m, cross-checked against jar/src/main/java/jline/api/aoi/Aoi_fcfs_dm1.java (identical; both solve for sigma by a bracketed root search, MATLAB with fzero on [0.001, 0.999] and the JAR with bisection, which this port follows).

sigma solves sigma = exp(-mu tau (1 - sigma)) in (0,1) E[D] = 1/(mu (1 - sigma)) E[A] = tau/2 + E[D] E[Apeak] = tau + E[D] Var[A] = (E[D^2] - E[D]^2) + (sigma/(mu(1-sigma)))^2, E[D^2] = 2 E[D]^2

from Inoue et al. (2019). With deterministic interarrivals the correlation term in the mean vanishes, which is why E[A] is simply E[Y^2]/(2E[Y]) + E[D].

static_assert(num_traits<T>::has_transcendental) – sigma is the root of a transcendental equation, so nothing downstream of it is in the field.

The variance, as in the MATLAB source, is not the exact second moment of the AoI: it adds the system-delay variance to a squared sigma term rather than differentiating the AoI transform.

Definition in file aoi_fcfs_dm1.h.