Class Solver_ba_snc_analyzer
Port of matlab/src/solvers/BA/solver_ba_snc_analyzer.m. The api domain
jline.api.snc supplies the envelope algebra; this analyzer maps the
LINE model onto it, propagates envelopes hop by hop, and reads the bound back
per station and class.
UNITS ARE JOBS, NOT WORK. The arrival envelope counts jobs and the service
element is Snc_srv_exp, the counting process of an Exp(mu) server.
That is what lets a departure envelope from one station be the arrival
envelope of the next: a service-time work unit differs from station to
station, a job does not. On a single M/M/1 the resulting backlog bound decays
as (lambda/mu)^n and the delay bound as exp(-(mu-lambda)*d), both exact
rates.
BOUND CONVENTION. R(i,r) is Snc_mean_delay of the (arrival,
service) envelope pair at that station, i.e. the integral of the delay tail
bound, so each entry is a valid upper bound on its own. Q follows by Little's
law from the bounded R and the EXACT throughput T (an open network's
per-class rates are fixed by the traffic equations, not by the policy), and
so does C. U is exact for the same reason.
WHAT IS ASSUMED, and refused when it does not hold: a fully open network with a Source, no delay station, one server per station, exponential service (the Source may be any Markovian (D0,D1) process), a FEED-FORWARD station graph, DETERMINISTIC routing downstream of the Source (splitting AT a Poisson Source is exact and is allowed), and EQUAL service rates among the classes sharing a station.
TIGHTNESS. This is a policy-robust bound, so it is loose on the mean: 2.4x the exact M/M/1 mean response time at rho = 0.1 and 10.4x at rho = 0.95. Its sharp object is the TAIL, whose decay rate it reproduces exactly; reach it through the SolverBA quantile accessors rather than through the mean columns.
Reference: M. Fidler, A. Rizk (2015). A Guide to the Stochastic Network Calculus. IEEE Communications Surveys and Tutorials 17(1), 92-105.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classThe per-pair envelopes the analyzer built, kept so that the quantile accessors can read the tail without a second pass over the network. -
Method Summary
Modifier and TypeMethodDescriptionBuilds the per-pair (arrival, service) envelopes of a feed-forward model.static MVAResultsolver_ba_snc_analyzer(NetworkStruct sn, SolverOptions options)
-
Method Details
-
solver_ba_snc_analyzer
- Parameters:
sn- the modeloptions- solver options (unused: the family has no tunable)- Returns:
- the (Q,U,R,T,C,X) block of the 'snc.upper' family
-
envelopes
Builds the per-pair (arrival, service) envelopes of a feed-forward model.Every gate of the family is checked here rather than in the caller, so that the quantile accessors refuse an unsupported model with the same reason as the mean columns.
- Parameters:
sn- the model- Returns:
- the envelopes of the pairs that carry traffic
-