Class Qsys_mmapg1k

java.lang.Object
jline.api.qsys.Qsys_mmapg1k

public final class Qsys_mmapg1k extends Object
Exact per-class throughput and loss ratio of an MMAP[K]/G/1/K queue with tail drop: marked Markovian arrivals, an arbitrary service law F common to all classes, and a buffer of K packets counting the one in transmission.

Port of matlab/src/api/qsys/qsys_mmapg1k.m. Two classes of equal arrival rate but different interarrival variability or autocorrelation receive DIFFERENT loss ratios, which is the effect that motivates [1]. Aggregate-only finite-buffer analyses cannot express it: they return a single blocking probability p and set T_k = lambda_k (1-p), making the loss ratio identical across classes by construction.

METHOD. The aggregate MAP {D0, sum_k D1c(k)} drives Qsys_mapg1k, whose embedded chain returns the joint law of buffer level and MAP phase. A class-k arrival leaves phase i at rate (D1c(k) e)_i, so the rate of class-k arrivals meeting a full buffer is pKvec D1c(k) e, and

   lambda_k = pi D1c(k) e,   L_k = (pKvec D1c(k) e)/lambda_k.
 
This is exact: no independence between classes is assumed and no PASTA argument is used, the phase resolution of pKvec doing that work.

Assumes a single server and a service law that is iid and independent of class. Per-class service would make the departure rate depend on which class holds the server, which this model does not represent; build the arrival-weighted mixture instead (see jline.solvers.mam.handlers.Mam_svc_mixture).

References:
[1] Chydzinski, A. Per-Flow Throughput of a FIFO Buffer. Applied System Innovation 2026, 9, 112.

  • Method Details

    • qsys_mmapg1k

      public static QsysMmapG1kResult qsys_mmapg1k(Matrix D0, List<Matrix> D1c, QsysServiceLaw svc, int K)
      qsys_mmapg1k with the reference defaults tol = 1e-12, nmax = 200000.
    • qsys_mmapg1k

      public static QsysMmapG1kResult qsys_mmapg1k(Matrix D0, List<Matrix> D1c, QsysServiceLaw svc, int K, double tol, int nmaxCap)
      MMAP[K]/G/1/K with tail drop.
      Parameters:
      D0 - M x M hidden transition matrix of the arrival MMAP
      D1c - per-class arrival matrices; D0 + sum_k D1c(k) irreducible
      svc - service law, common to every class
      K - buffer size in packets, K >= 1
      tol - uniformization truncation tolerance
      nmaxCap - cap on the uniformization order