Package jline.api.polling
Class Polling_qsys_decrementing
java.lang.Object
jline.api.polling.Polling_qsys_decrementing
Mean waiting-time analysis for a decrementing (semiexhaustive)
polling system with Poisson arrivals and general service and switchover times.
The decrementing discipline serves a queue until the number of jobs present drops to one less than the number found at the polling instant. For a symmetric system of N queues the mean message waiting time is given in closed form by Pittel (1973) and Takagi (1984); see also Takagi, "Queuing Analysis of Polling Models", ACM Computing Surveys 20(1), 1988, eq. (28):
E[W] = delta2/(2 r)
+ ( N lambda b2 (1 - lambda r) + (r + lambda delta2)(N - rho) )
/ ( 2 ( 1 - rho - lambda r (N - rho) ) )
where lambda is the per-queue arrival rate, b and b2 the first and second moments of
the service time, r and delta2 the mean and variance of the per-queue switchover time,
and rho = N lambda b the total offered load. No exact closed-form expression for the
individual E[W_i] is known for asymmetric decrementing systems. There an
approximation is returned: E[W_i] = c f_i with
f_i = (1-rho_i)/(1-rho-lambda_i(1-rho_i)R), R the total switchover time, and c
chosen so that the W satisfy the exact pseudo-conservation law (see
Polling_pcl). It is exact for symmetric systems; against the exact CTMC
of two- and three-queue exponential systems its error was within about 15%.-
Method Summary
Modifier and TypeMethodDescriptionstatic double[]polling_qsys_decrementing(double[] lambda, double[] b, double[] b2, double[] r1, double[] delta2) Moment form.static double[]polling_qsys_decrementing(MatrixCell[] arvMAPs, MatrixCell[] svcMAPs, MatrixCell[] switchMAPs) Computes mean waiting times for a decrementing polling system (exact when symmetric, PCL-scaled approximation otherwise).
-
Method Details
-
polling_qsys_decrementing
public static double[] polling_qsys_decrementing(MatrixCell[] arvMAPs, MatrixCell[] svcMAPs, MatrixCell[] switchMAPs) Computes mean waiting times for a decrementing polling system (exact when symmetric, PCL-scaled approximation otherwise).- Parameters:
arvMAPs- per-class arrival MAPs (assumed Poisson; only the rate is used)svcMAPs- per-class service MAPs (first and second moments are used)switchMAPs- per-class switchover MAPs (mean and variance are used)- Returns:
- array of mean waiting times, one per class
-
polling_qsys_decrementing
public static double[] polling_qsys_decrementing(double[] lambda, double[] b, double[] b2, double[] r1, double[] delta2) Moment form. The formulas read only the per-queue arrival rate, the first two service moments and the switchover mean and variance, so a caller holding a law with no MAP (a Det or Uniform switchover, a general service) passes those directly instead of a MAP surrogate of the wrong variance.- Parameters:
lambda- per-queue Poisson arrival rateb- per-queue mean service time E[S]b2- per-queue second service moment E[S^2]r1- mean of the switchover out of each queue (Takagi's r_i)delta2- variance of the switchover out of each queue- Returns:
- mean waiting time per queue
-