SimGrid
3.18
Versatile Simulation of Distributed Systems
|
LMM constraint Each constraint contains several partially overlapping logical sets of elements:
#include <maxmin.hpp>
Public Member Functions | |
Constraint ()=default | |
Constraint (void *id_value, double bound_value) | |
void | unshare () |
Unshare a constraint. More... | |
int | get_sharing_policy () const |
Check if a constraint is shared (shared by default) More... | |
double | get_usage () const |
Get the usage of the constraint after the last lmm solve. More... | |
int | get_variable_amount () const |
void | set_concurrency_limit (int limit) |
Sets the concurrency limit for this constraint. More... | |
int | get_concurrency_limit () const |
Gets the concurrency limit for this constraint. More... | |
void | reset_concurrency_maximum () |
Reset the concurrency maximum for a given variable (we will update the maximum to reflect constraint evolution). More... | |
int | get_concurrency_maximum () const |
Get the concurrency maximum for a given variable (which reflects constraint evolution). More... | |
int | get_concurrency_slack () const |
lmm_variable_t | get_variable (const_lmm_element_t *elem) const |
Get a var associated to a constraint. More... | |
lmm_variable_t | get_variable_safe (const_lmm_element_t *elem, const_lmm_element_t *nextelem, int *numelem) const |
Get a var associated to a constraint. More... | |
void * | get_id () const |
Get the data associated to a constraint. More... | |
Public Attributes | |
boost::intrusive::list_member_hook | constraint_set_hook |
boost::intrusive::list_member_hook | active_constraint_set_hook |
boost::intrusive::list_member_hook | modified_constraint_set_hook |
boost::intrusive::list_member_hook | saturated_constraint_set_hook |
boost::intrusive::list< Element, boost::intrusive::member_hook< Element, boost::intrusive::list_member_hook<>, &Element::enabled_element_set_hook > > | enabled_element_set |
boost::intrusive::list< Element, boost::intrusive::member_hook< Element, boost::intrusive::list_member_hook<>, &Element::disabled_element_set_hook > > | disabled_element_set |
boost::intrusive::list< Element, boost::intrusive::member_hook< Element, boost::intrusive::list_member_hook<>, &Element::active_element_set_hook > > | active_element_set |
double | remaining |
double | usage |
double | bound |
int | concurrency_current |
int | concurrency_maximum |
int | sharing_policy |
int | id_int |
double | lambda |
double | new_lambda |
lmm_constraint_light_t | cnst_light |
|
default |
simgrid::kernel::lmm::Constraint::Constraint | ( | void * | id_value, |
double | bound_value | ||
) |
|
inline |
Unshare a constraint.
|
inline |
Check if a constraint is shared (shared by default)
double simgrid::kernel::lmm::Constraint::get_usage | ( | ) | const |
Get the usage of the constraint after the last lmm solve.
Returns resource load (in flop per second, or byte per second, or similar)
If the resource is shared (the default case), the load is sum of resource usage made by every variables located on this resource.
If the resource is not shared (ie in FATPIPE mode), then the load is the max (not the sum) of all resource usages located on this resource.
int simgrid::kernel::lmm::Constraint::get_variable_amount | ( | ) | const |
|
inline |
Sets the concurrency limit for this constraint.
limit | The concurrency limit to use for this constraint |
|
inline |
Gets the concurrency limit for this constraint.
|
inline |
Reset the concurrency maximum for a given variable (we will update the maximum to reflect constraint evolution).
|
inline |
Get the concurrency maximum for a given variable (which reflects constraint evolution).
|
inline |
lmm_variable_t simgrid::kernel::lmm::Constraint::get_variable | ( | const_lmm_element_t * | elem | ) | const |
Get a var associated to a constraint.
Get the first variable of the next variable of elem if elem is not NULL
elem | A element of constraint of the constraint or NULL |
lmm_variable_t simgrid::kernel::lmm::Constraint::get_variable_safe | ( | const_lmm_element_t * | elem, |
const_lmm_element_t * | nextelem, | ||
int * | numelem | ||
) | const |
Get a var associated to a constraint.
Get the first variable of the next variable of elem if elem is not NULL
elem | A element of constraint of the constraint or NULL |
nextelem | A element of constraint of the constraint or NULL, the one after elem |
numelem | parameter representing the number of elements to go |
|
inline |
Get the data associated to a constraint.
boost::intrusive::list_member_hook simgrid::kernel::lmm::Constraint::constraint_set_hook |
boost::intrusive::list_member_hook simgrid::kernel::lmm::Constraint::active_constraint_set_hook |
boost::intrusive::list_member_hook simgrid::kernel::lmm::Constraint::modified_constraint_set_hook |
boost::intrusive::list_member_hook simgrid::kernel::lmm::Constraint::saturated_constraint_set_hook |
boost::intrusive::list<Element, boost::intrusive::member_hook<Element, boost::intrusive::list_member_hook<>, &Element::enabled_element_set_hook> > simgrid::kernel::lmm::Constraint::enabled_element_set |
boost::intrusive::list<Element, boost::intrusive::member_hook<Element, boost::intrusive::list_member_hook<>, &Element::disabled_element_set_hook> > simgrid::kernel::lmm::Constraint::disabled_element_set |
boost::intrusive::list<Element, boost::intrusive::member_hook<Element, boost::intrusive::list_member_hook<>, &Element::active_element_set_hook> > simgrid::kernel::lmm::Constraint::active_element_set |
double simgrid::kernel::lmm::Constraint::remaining |
double simgrid::kernel::lmm::Constraint::usage |
double simgrid::kernel::lmm::Constraint::bound |
int simgrid::kernel::lmm::Constraint::concurrency_current |
int simgrid::kernel::lmm::Constraint::concurrency_maximum |
int simgrid::kernel::lmm::Constraint::sharing_policy |
int simgrid::kernel::lmm::Constraint::id_int |
double simgrid::kernel::lmm::Constraint::lambda |
double simgrid::kernel::lmm::Constraint::new_lambda |
lmm_constraint_light_t simgrid::kernel::lmm::Constraint::cnst_light |