Class SolverMultiClosedMoM
java.lang.Object
solvers.SolverMulti
solvers.SolverMultiClosedMoM
Solves a multiclass closed model with the exact MoM (Method of Moments)
algorithm [Cas06][Cas11], one of the exact solution techniques available in
JMVA for closed product form queueing networks.
This class implements the API to allow use by other applications. One can define the queueing network model details, call the solvers transparently and, afterwards, read the results.
- Author:
- Michail Makaronidis, 2010
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intNumber of threads that the MoMSolver should useprotected int[]Array containing population for each classprotected QNModelContains the queueing network modelprotected IntegerFields inherited from class SolverMulti
classes, CLOSED_CLASS, clsNumJobs, clsRespTime, clsThroughput, DELAY, HOL, LD, LI, name, OPEN_CLASS, priorities, PRS, pw, queueLen, residenceTime, scQueueLen, scResidTime, scThroughput, scUtilization, servers, servTime, stations, sysNumJobs, sysResponseTime, sysThroughput, throughput, type, utilization, visits -
Constructor Summary
ConstructorsConstructorDescriptionSolverMultiClosedMoM(int classes, int stations, int[] population) Creates new MoMSolverDispatcher -
Method Summary
Modifier and TypeMethodDescriptionbooleanA system is said to have sufficient capacity to process a given loadlambdaif no service center is saturated as a result of the combined loads of all the classes.booleaninput(int[] t, double[][][] s, double[][] v, int nThr) Initializes the solver with the system parameters.voidsolve()Solves the system through the MoM algorithm.Methods inherited from class SolverMulti
getAggrQueueLen, getAggrQueueLen, getAggrResTime, getAggrResTime, getAggrThroughput, getAggrThroughput, getAggrUtilization, getAggrUtilization, getClsResTime, getClsResTime, getClsThroughput, getClsThroughput, getQueueLen, getQueueLen, getResTime, getResTime, getThroughput, getThroughput, getTotResTime, getTotThroughput, getUtilization, getUtilization, getVisits, input, input, printIndices, setServTime, toString
-
Field Details
-
population
protected int[] populationArray containing population for each class -
scale
-
qnm
Contains the queueing network model -
nThreads
protected int nThreadsNumber of threads that the MoMSolver should use
-
-
Constructor Details
-
SolverMultiClosedMoM
public SolverMultiClosedMoM(int classes, int stations, int[] population) Creates new MoMSolverDispatcher- Parameters:
classes- number of classesstations- number of service centerspopulation- array of class populations
-
-
Method Details
-
input
public boolean input(int[] t, double[][][] s, double[][] v, int nThr) Initializes the solver with the system parameters. It must be called before trying to solve the model.- Parameters:
t- array of the types (LD or LI) of service centerss- matrix of service times of the service centersv- array of visits to the service centersnThr- The number of threads the solver should use- Returns:
- True if the operation is completed with success
-
solve
public void solve()Solves the system through the MoM algorithm. input(...) must have been called first.- Specified by:
solvein classSolverMulti
-
hasSufficientProcessingCapacity
public boolean hasSufficientProcessingCapacity()Description copied from class:SolverMultiA system is said to have sufficient capacity to process a given loadlambdaif no service center is saturated as a result of the combined loads of all the classes.
Must be implemented to create a multi class model solver.
WARNING: This method should be called before solving the system.- Specified by:
hasSufficientProcessingCapacityin classSolverMulti- Returns:
- true if sufficient capacity exists for the given workload, false otherwise
-