Class Solver_mva_qsys_sizebased_analyzer

java.lang.Object
jline.solvers.mva.analyzers.Solver_mva_qsys_sizebased_analyzer

public final class Solver_mva_qsys_sizebased_analyzer extends Object
M/G/1 queueing systems with SIZE-BASED scheduling: SRPT, PSJF, FB (LAS), LRPT and SETF.

Port of matlab/src/solvers/MVA/solver_mva_qsys_sizebased_analyzer.m. The analytical response times come from A. Wierman and M. Harchol-Balter, "Classifying scheduling policies with respect to unfairness in an M/GI/1", SIGMETRICS 2003, evaluated by the qsys_mg1_* leaves that the JAR already carried; only the analyzer wiring them to a model was missing, so SolverMVA refused every model these disciplines exist for.

Applies to a multiclass OPEN Source-Queue-Sink system with Poisson arrivals. The generic AMVA path has no size-based term at all: it would solve the station as if the discipline were size-blind, which is not what SRPT means.

NOTE ON THE INDEX SPACE. sn.visits is indexed by CHAIN, not by station. Reading visits.get(source_ist) takes the chain whose number happens to equal the Source's station index -- chain 1 -- so on the multiclass models this analyzer exists for, every class beyond the first would get the visit of a chain it does not belong to, which is zero. The chain of each class is looked up explicitly below; the MATLAB reference carries the same correction and the same comment.

  • Method Details

    • isSizeBasedPolicy

      public static boolean isSizeBasedPolicy(SchedStrategy s)
      True for the five disciplines this analyzer serves.
    • solver_mva_qsys_sizebased_analyzer

      public static MVAResult solver_mva_qsys_sizebased_analyzer(NetworkStruct sn, SolverOptions options, SchedStrategy schedType)
      Parameters:
      sn - the network struct
      options - solver options
      schedType - the queue's size-based discipline