Package jline.lang.state
Class AfterEventStationPool
java.lang.Object
jline.lang.state.AfterEventStationPool
Event handler and state enumerator of a station with heterogeneous server pools, as
rewritten for the CTMC by
jline.solvers.ctmc.handlers.Solver_ctmc_pools. Port of
MATLAB State.afterEventStationPool and State.fromMarginalPool.
The local state is [buffer | servers | local variables]. The buffer holds the WAITING jobs only (1-based class ids right-aligned, the rightmost is the oldest; per-class counts under SIRO), and the class-r server block holds one sub-block of phases per compatible pool. The semantics are those of LDES:
- ARV: the candidates are the compatible pools with a free server. None: the job waits. Otherwise ORDER takes the lowest index, ALFS the least flexible pool, FSF the pool with the highest rate for the class (ties by index), RAIS each candidate with equal probability, and ALIS/FAIRNESS the first candidate of the rotating pool order, which then moves to the back when there was more than one candidate.
- DEP: the freed server of pool t takes the first waiting job, in the discipline's service order, that pool t can serve.
- PHASE: a transition inside the block of the job's pool.
Invariant: no waiting job has a free compatible server.
-
Method Summary
Modifier and TypeMethodDescriptionstatic Ret.EventResultafterEventStationPool(NetworkStruct sn, int ind, int ist, Matrix inspace, EventType event, int jobClass, int R, int V, boolean isSimulation) Successors of EVENT for class JOBCLASS at pooled station IND (0-based).static MatrixfromMarginalPool(NetworkStruct sn, int ind, Matrix n) Local states [buffer | servers | pool order] with marginal n at pooled station ind: every split of the jobs into in-service (per class and pool) and waiting ones such that no waiting job has a free compatible server, every phase assignment of the jobs in service, every order of the waiting jobs (per-class counts under SIRO), and every pool order index when the order rotates.static booleanisPooled(NetworkStruct sn, int ind) True when node ind is a pooled station of this (CTMC) struct.
-
Method Details
-
isPooled
True when node ind is a pooled station of this (CTMC) struct. -
afterEventStationPool
public static Ret.EventResult afterEventStationPool(NetworkStruct sn, int ind, int ist, Matrix inspace, EventType event, int jobClass, int R, int V, boolean isSimulation) Successors of EVENT for class JOBCLASS at pooled station IND (0-based). -
fromMarginalPool
Local states [buffer | servers | pool order] with marginal n at pooled station ind: every split of the jobs into in-service (per class and pool) and waiting ones such that no waiting job has a free compatible server, every phase assignment of the jobs in service, every order of the waiting jobs (per-class counts under SIRO), and every pool order index when the order rotates. The ordered buffer is max(1, min(sum(n), cap)) wide.
-