Class Solver_nc_dt_analyzer
options.config.slotted or
options.config.timescale="discrete".
Two families are covered, both from H. Daduna, Queueing Networks with Discrete Time Scale, LNCS 2046, Springer, 2001:
- chapter 2, a Bernoulli server fed by a Bernoulli arrival stream, with
an unbounded buffer (theorem 2.3, corollary 2.7), a finite buffer
(corollary 2.8) or a load-dependent service probability (example
2.10), evaluated by
Dqsys_bernoulli1; - chapter 3, a closed cycle of Bernoulli servers (theorem 3.2, corollary
3.4), evaluated by
Dpfqn_ncwhen the service probabilities are state independent and byDpfqn_ncldotherwise.
Every metric is expressed on the slot lattice, which
ncIsDtModel(NetworkStruct, SolverOptions) requires to be the unit
one: a Geometric(p) is the same law in every solver, so its per-slot
probability is p only on a slot of length 1 (see SlottedRequest).
Rates are therefore per-slot probabilities and times are numbers of slots,
which are also model time units.
Metrics are SLOT-BOUNDARY values (late arrival with delayed access): the state is read after the arrivals of a slot and before its departures, the stationary law phi of Chao, Miyazawa and Pinedo (1999), example 12.10. The slot-inside law psi gives a smaller queue and a response time one slot shorter.
On the cycle route the per-class split is proportional to the per-class population. Service in the cycle is type independent and FCFS forbids overtaking, so the cyclic order of the jobs is frozen; the marginal law of the queue lengths carries no class information, and the long-run share of station j held by chain g is its population share N_g/N. That is the sense in which section 3.2 of the reference calls the multichain case a direct adaptation of the unichain one.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classClassification of a model against the discrete-time product form. -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisSlotted(SolverOptions options) True when the caller asked for the discrete-time route, through config.slotted or config.timescale="discrete" as read by the resolver NC, MAM and LDES share (SlottedRequest).Classify sn against the two discrete-time product-form families.ncIsDtModel(NetworkStruct sn, SolverOptions options) ncIsDtModel(NetworkStruct)under the caller's slot length.static NCResultsolver_nc_dt_analyzer(NetworkStruct sn, SolverOptions options) Exact discrete-time analysis of sn.
-
Method Details
-
isSlotted
True when the caller asked for the discrete-time route, through config.slotted or config.timescale="discrete" as read by the resolver NC, MAM and LDES share (SlottedRequest). -
ncIsDtModel
ncIsDtModel(NetworkStruct)under the caller's slot length. A Bernoulli server needs the unit slot: a Geometric steps in whole time units, so on any other lattice it is not a one-slot geometric server. -
ncIsDtModel
Classify sn against the two discrete-time product-form families.The admissible feature set is narrow because the discrete-time product form is narrow. Beyond the geometric service requirement a cycle is the only topology (section 4.1 records that general discrete-time topologies of FCFS Bernoulli servers have no product form), every station must be a single server (Pestien and Ramakrishnan, quoted before example 2.10, proved that a multiserver node inside a cycle of geometrical queues destroys the product form for any finite server count), and class switching is rejected.
-
solver_nc_dt_analyzer
Exact discrete-time analysis of sn.
-