![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Mean, variance and peak Age of Information of an M/D/1 FCFS queue. More...
Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::aoi |
Functions | |
| template<class T> | |
| AoiResult< T > | line::aoi::aoi_fcfs_md1 (const T &lambda, const T &d) |
| Mean, variance and peak Age of Information of an M/D/1 FCFS queue. | |
Mean, variance and peak Age of Information of an M/D/1 FCFS queue.
Templated port of matlab/src/api/aoi/aoi_fcfs_md1.m, cross-checked against jar/src/main/java/jline/api/aoi/Aoi_fcfs_md1.java (identical).
rho = lambda d, E[W] = lambda d^2 / (2(1-rho)), E[T] = E[W] + d E[A] = d (1/2 + 1/(2(1-rho)) + ((1-rho)/rho) exp(rho)) E[Apeak] = E[T] + 1/lambda Var[A] = 1/lambda^2 + 2 E[W] d/(1-rho) + d^2 rho/(1-rho)^2
from Inoue et al. (2019). The exp(rho) in the mean is what carries the negative correlation between the interarrival time and the waiting time.
static_assert(num_traits<T>::has_transcendental) – the single exp(rho). Everything else in the file is rational; a caller who wants the exact peak AoI and variance can get them from the M/GI/1 route with an Erlang approximating the constant.
The variance is documented in the MATLAB source as an approximation, not the exact second moment: it is assembled from E[Y^2] - E[Y]^2 plus two waiting- time terms, not from the AoI transform. Treat it as such.
Definition in file aoi_fcfs_md1.h.