Class Solver_nc_dt_analyzer

java.lang.Object
jline.solvers.nc.analyzers.Solver_nc_dt_analyzer

public final class Solver_nc_dt_analyzer extends Object
Exact normalizing-constant analysis of a discrete-time (slotted) queueing model, selected by options.config.slotted.

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_nc when the service probabilities are state independent and by Dpfqn_ncld otherwise.

Every metric is expressed on the slot lattice: a rate is a per-slot probability and a time is a number of slots. options.config.slotlength rescales both to model time units.

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.

  • Method Details

    • isSlotted

      public static boolean isSlotted(SolverOptions options)
      True when the caller asked for the discrete-time route.
    • ncIsDtModel

      public static Solver_nc_dt_analyzer.DtModel ncIsDtModel(NetworkStruct sn)
      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

      public static NCResult solver_nc_dt_analyzer(NetworkStruct sn, SolverOptions options)
      Exact discrete-time analysis of sn.