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

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

Include dependency graph for aoi_fcfs_md1.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_md1 (const T &lambda, const T &d)
 Mean, variance and peak Age of Information of an M/D/1 FCFS queue.

Detailed Description

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.