Class Qsys_mapg1k_perflow
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 Summary
Modifier and TypeMethodDescriptionstatic QsysMapG1kPerflowResultqsys_mapg1k_perflow(List<MatrixCell> maps, QsysServiceLaw svc, int K) qsys_mapg1k_perflow with the reference defaults tol = 1e-12, nmax = 200000.static QsysMapG1kPerflowResultqsys_mapg1k_perflow(List<MatrixCell> maps, QsysServiceLaw svc, int K, double tol, int nmaxCap) Per-flow analysis of a MAP-superposition FIFO buffer.
-
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 lawK- buffer size in packets, K >= 1tol- uniformization truncation tolerancenmaxCap- cap on the uniformization order
-