LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::ldes::engine::LnLine Struct Reference

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

Detailed Description

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.

Member Data Documentation

◆ act

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.

◆ act_t0

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.

◆ branch

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.

◆ call_pos

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.

◆ calls_left

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.

◆ dem_done

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.

◆ hcol

int line::ldes::engine::LnLine::hcol = -1

host admission column held, -1 = none

Definition at line 168 of file ldes_ln_engine.h.

◆ host_end

double line::ldes::engine::LnLine::host_end = 0.0

Definition at line 186 of file ldes_ln_engine.h.

◆ host_gen

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.

◆ host_rem

double line::ldes::engine::LnLine::host_rem = -1.0

Definition at line 184 of file ldes_ln_engine.h.

◆ host_start

double line::ldes::engine::LnLine::host_start = 0.0

Definition at line 185 of file ldes_ln_engine.h.

◆ host_t0

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.

◆ inv

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.

◆ pcol

int line::ldes::engine::LnLine::pcol = -1

operand column at a pooled host

Definition at line 169 of file ldes_ln_engine.h.

◆ remaining

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.

◆ siro_key

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.


The documentation for this struct was generated from the following file: