![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
One LINE of execution: a point in the activity graph of one invocation. More...
#include <line/solvers/ldes/ldes_ln_engine.h>
Public Attributes | |
| std::size_t | inv = LN_NONE |
| the invocation this line belongs to | |
| std::size_t | act = 0 |
| current activity, 0 for an entry with none | |
| double | act_t0 = -1.0 |
| When the current activity began, -1 before it is reached. | |
| std::size_t | call_pos = 0 |
| next call index of the current activity | |
| std::size_t | calls_left = static_cast<std::size_t>(-1) |
| Repetitions of the current call still to be made; NOTDRAWN until drawn. | |
| double | host_t0 = 0.0 |
| when the line asked its processor, queueing included | |
| bool | branch = false |
| a line an AND fork created (never the root) | |
| int | hcol = -1 |
| host admission column held, -1 = none | |
| int | pcol = -1 |
| operand column at a pooled host | |
| double | remaining = 0.0 |
| work left at a pooled or PS host | |
| double | siro_key = 0.0 |
| uniform key in a SIRO host queue; the smallest is served next | |
| int | dem_done = 0 |
| How far the current activity is before its calls: 0 nothing started, 1 host demand started or none, 2 think time started or none. | |
| std::uint64_t | host_gen = 0 |
| Host service in progress at a queueing host. | |
| double | host_rem = -1.0 |
| double | host_start = 0.0 |
| double | host_end = 0.0 |
One LINE of execution: a point in the activity graph of one invocation.
A sequential invocation has one line, its root. An AND fork gives it one line per branch, all holding the SAME thread of the invocation, and the join resumes the root; that is LNRequest.copyWith of Solver_ssj_ln.
Definition at line 151 of file ldes_ln_engine.h.
| std::size_t line::ldes::engine::LnLine::act = 0 |
current activity, 0 for an entry with none
Definition at line 153 of file ldes_ln_engine.h.
| double line::ldes::engine::LnLine::act_t0 = -1.0 |
When the current activity began, -1 before it is reached.
Its span runs to its host completion, so it CARRIES THE NESTED CALLS it makes.
Definition at line 158 of file ldes_ln_engine.h.
| bool line::ldes::engine::LnLine::branch = false |
a line an AND fork created (never the root)
Definition at line 167 of file ldes_ln_engine.h.
| std::size_t line::ldes::engine::LnLine::call_pos = 0 |
next call index of the current activity
Definition at line 159 of file ldes_ln_engine.h.
| std::size_t line::ldes::engine::LnLine::calls_left = static_cast<std::size_t>(-1) |
Repetitions of the current call still to be made; NOTDRAWN until drawn.
calls-mean is drawn once when the call is first reached, so a call of mean 3 blocks three times per execution of the activity.
Definition at line 165 of file ldes_ln_engine.h.
| int line::ldes::engine::LnLine::dem_done = 0 |
How far the current activity is before its calls: 0 nothing started, 1 host demand started or none, 2 think time started or none.
Definition at line 176 of file ldes_ln_engine.h.
| int line::ldes::engine::LnLine::hcol = -1 |
host admission column held, -1 = none
Definition at line 168 of file ldes_ln_engine.h.
| double line::ldes::engine::LnLine::host_end = 0.0 |
Definition at line 186 of file ldes_ln_engine.h.
| std::uint64_t line::ldes::engine::LnLine::host_gen = 0 |
Host service in progress at a queueing host.
The completion event carries host_gen, drawn from one engine-wide counter because lines are recycled, so a preemption cancels it by drawing a new one. host_rem is the work left when service (re)starts, negative meaning "draw the demand": a fresh request or a PI victim.
Definition at line 183 of file ldes_ln_engine.h.
| double line::ldes::engine::LnLine::host_rem = -1.0 |
Definition at line 184 of file ldes_ln_engine.h.
| double line::ldes::engine::LnLine::host_start = 0.0 |
Definition at line 185 of file ldes_ln_engine.h.
| double line::ldes::engine::LnLine::host_t0 = 0.0 |
when the line asked its processor, queueing included
Definition at line 166 of file ldes_ln_engine.h.
| std::size_t line::ldes::engine::LnLine::inv = LN_NONE |
the invocation this line belongs to
Definition at line 152 of file ldes_ln_engine.h.
| int line::ldes::engine::LnLine::pcol = -1 |
operand column at a pooled host
Definition at line 169 of file ldes_ln_engine.h.
| double line::ldes::engine::LnLine::remaining = 0.0 |
work left at a pooled or PS host
Definition at line 170 of file ldes_ln_engine.h.
| double line::ldes::engine::LnLine::siro_key = 0.0 |
uniform key in a SIRO host queue; the smallest is served next
Definition at line 171 of file ldes_ln_engine.h.