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

MGF service envelope of an exponential server, in JOB units. More...

#include <cmath>
#include "line/api/snc/snc_types.h"
#include "line/util/error.h"
Include dependency graph for snc_srv_exp.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::snc

Functions

Env line::snc::snc_srv_exp (double mu, double theta)
 MGF service envelope of an exponential server, in JOB units.
Envelope line::snc::snc_srv_exp_fn (double mu)
 The same envelope as a function of theta.

Detailed Description

MGF service envelope of an exponential server, in JOB units.

A single server with Exp(mu) service times completes jobs at the epochs of a Poisson process of rate mu while it is busy, so its cumulative service counted in JOBS is Poisson with mean mu*(t-s) and rho(theta) = mu*(1-exp(-theta))/theta with a zero burst.

THIS IS THE SERVICE ELEMENT TO USE WHENEVER THE WORK UNIT IS THE JOB. Pairing snc_srv_rate with a job-counting arrival envelope would model a server that completes jobs at deterministic intervals, an M/D/1, and would UNDERSTATE the delay of an exponential server rather than bound it. The M/M/1 read with this element reproduces both exact decay rates: the backlog bound decays as (lambda/mu)^n in jobs and the delay bound as exp(-(mu-lambda)*d) in time, since the optimal theta tends to log(mu/lambda).

Job units also compose across hops: a departure envelope from snc_output is a job count and is directly the arrival envelope of the next station, whereas service-time work units differ from station to station.

Port of matlab/src/api/snc/snc_srv_exp.m.

Definition in file snc_srv_exp.h.