Class Qsys_mapg1k_perflow

java.lang.Object
jline.api.qsys.Qsys_mapg1k_perflow

public final class Qsys_mapg1k_perflow extends Object
Per-flow throughput and loss ratio of a FIFO buffer with tail drop fed by N flows of arbitrary and mutually different statistical character.

Port of matlab/src/api/qsys/qsys_mapg1k_perflow.m. Flow n is described by its own MAP, so two flows may share an arrival rate and still differ in the shape and autocorrelation of their interarrival times.

METHOD. The exact model of N flows would need a chain tracking the modulating state of every flow jointly with the buffer occupancy, hence prod_n M_n (K+1) states, already out of reach at N = 10, M_n = 3, K = 10. Instead one model per flow is solved: flow n is kept exactly as MAP_n while the other N-1 flows are replaced by a single Poisson stream of rate lambda - lambda_n, which the Palm-Khinchin limiting theorem justifies for a superposition of many point processes. The substitution is applied N times, once per flow, so no flow is ever the one being Poissonized when its own throughput is computed. Superposing MAP_n with the Poisson background yields

   D0 = D0n - lambdaBar_n I,   D1 = D1n + lambdaBar_n I           ([1], eq. 5)
 
which is passed to Qsys_mapg1k. The sweep is O(N (K M)^3) against the O(M^(3N) K^3) of the exact joint model: linear rather than exponential in N.

Accuracy. [1] reports errors against simulation of the exact model below about 8 per cent for N >= 9 with K >= 20, falling to 2.1 per cent at K = 50 and 0.5 per cent at K = 100. Errors are largest when flows are few, highly variable, and the buffer is small.

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

  • Method Details

    • qsys_mapg1k_perflow

      public static QsysMapG1kPerflowResult qsys_mapg1k_perflow(List<MatrixCell> maps, QsysServiceLaw svc, int K)
      qsys_mapg1k_perflow with the reference defaults tol = 1e-12, nmax = 200000.
    • qsys_mapg1k_perflow

      public static QsysMapG1kPerflowResult qsys_mapg1k_perflow(List<MatrixCell> maps, QsysServiceLaw svc, int K, double tol, int nmaxCap)
      Per-flow analysis of a MAP-superposition FIFO buffer.
      Parameters:
      maps - per-flow MAPs, each a MatrixCell holding {D0n, D1n}
      svc - service law
      K - buffer size in packets, K >= 1
      tol - uniformization truncation tolerance
      nmaxCap - cap on the uniformization order