![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
A random lqn::LqnBuilder<T> source, configured once and then drawn from. More...
#include <line/gen/layered_network_generator.h>
Public Member Functions | |
| LayeredNetworkGenerator () | |
| LayeredNetworkGenerator (long long seed) | |
| void | set_seed (long long seed) |
| Reseed the single stream every draw comes from. | |
| void | set_model_name (const std::string &nm) |
| The name of the generated model. | |
| const std::string & | model_name () const |
| void | set_population_range (const Range &r) |
| Reference-task populations. | |
| void | set_think_time_range (const Range &r) |
| Client think times. | |
| void | set_task_inf_probability (double p) |
| Probability that a server task is infinite-server rather than FCFS. | |
| void | set_proc_inf_probability (double p) |
| Probability that a processor is infinite-server rather than PS. | |
| void | set_task_multi_range (const Range &r) |
| Task multiplicities, for the tasks that are not infinite-server. | |
| void | set_proc_multi_range (const Range &r) |
| Processor multiplicities, for the processors that are not infinite-server. | |
| void | set_host_demand_range (const Range &r) |
| Activity host demands. | |
| void | set_synch_call_range (const Range &r) |
| Mean number of synchronous calls on a call arc. | |
| const Range & | population_range () const |
| const Range & | think_time_range () const |
| double | task_inf_probability () const |
| double | proc_inf_probability () const |
| const Range & | task_multi_range () const |
| const Range & | proc_multi_range () const |
| const Range & | host_demand_range () const |
| const Range & | synch_call_range () const |
| const std::vector< int > & | tasks_per_level () const |
| How many tasks landed on each level, after the last generate. | |
| const std::vector< int > & | tasks_per_processor () const |
| How many tasks landed on each processor, after the last generate. | |
| lqn::LqnBuilder< T > | generate (int num_clients, int num_levels, int num_tasks, int num_processors) |
A random lqn::LqnBuilder<T> source, configured once and then drawn from.
generate returns the BUILDER rather than the finalised struct: a caller that wants the model SolverLN consumes calls build() on it, and one that wants the .lqnx document calls lqn::write_lqnx(g.model(), ...) or lqn::lqnx_to_string(g.model(), ...). Handing back the struct alone would lose the raw model the writer needs.
Definition at line 77 of file layered_network_generator.h.
|
inline |
Definition at line 79 of file layered_network_generator.h.
|
inlineexplicit |
Definition at line 80 of file layered_network_generator.h.
|
inline |
Definition at line 140 of file layered_network_generator.h.
References line::lqn::LqnBuilder< T >::activity(), line::lqn::LqnBuilder< T >::bound_to(), line::lqn::LqnBuilder< T >::entry(), line::lang::FCFS, line::lang::INF, line::lqn::LqnBuilder< T >::processor(), line::lang::PS, line::lqn::LqnBuilder< T >::replies_to(), and line::lqn::LqnBuilder< T >::task().
Referenced by run_generate().
|
inline |
Definition at line 128 of file layered_network_generator.h.
|
inline |
Definition at line 87 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Definition at line 122 of file layered_network_generator.h.
|
inline |
Definition at line 125 of file layered_network_generator.h.
|
inline |
Definition at line 127 of file layered_network_generator.h.
|
inline |
Activity host demands.
Zero is allowed and means an Immediate activity.
Definition at line 114 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
The name of the generated model.
lnw is the reference's.
Definition at line 86 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Reference-task populations.
Strictly positive: a client with no job runs nothing.
Definition at line 90 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Probability that a processor is infinite-server rather than PS.
Definition at line 102 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Processor multiplicities, for the processors that are not infinite-server.
Definition at line 110 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Reseed the single stream every draw comes from.
Definition at line 83 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Mean number of synchronous calls on a call arc.
Strictly positive.
Definition at line 118 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Probability that a server task is infinite-server rather than FCFS.
Definition at line 98 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Task multiplicities, for the tasks that are not infinite-server.
Definition at line 106 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Client think times.
Zero is allowed and means an Immediate think.
Definition at line 94 of file layered_network_generator.h.
Referenced by run_generate().
|
inline |
Definition at line 129 of file layered_network_generator.h.
|
inline |
Definition at line 124 of file layered_network_generator.h.
|
inline |
Definition at line 126 of file layered_network_generator.h.
|
inline |
How many tasks landed on each level, after the last generate.
Definition at line 132 of file layered_network_generator.h.
|
inline |
How many tasks landed on each processor, after the last generate.
Definition at line 134 of file layered_network_generator.h.
|
inline |
Definition at line 123 of file layered_network_generator.h.