void surf_host_model_init_ptask_L07()
{
XBT_CINFO(xbt_cfg,"Switching to the L07 model to handle parallel tasks.");
- xbt_assert(not surf_cpu_model_pm, "CPU model type already defined");
- xbt_assert(not surf_network_model, "network model type already defined");
+ xbt_assert(not surf_cpu_model_pm, "Cannot switch to ptasks: CPU model already defined");
+ xbt_assert(not surf_network_model, "Cannot switch to ptasks: network model already defined");
surf_host_model = new simgrid::surf::HostL07Model();
- all_existing_models->push_back(surf_host_model);
+ all_existing_models.push_back(surf_host_model);
}
-
namespace simgrid {
namespace surf {
}
CpuL07Model::CpuL07Model(HostL07Model* hmodel, kernel::lmm::System* sys)
- : CpuModel(Model::UpdateAlgo::Full), hostModel_(hmodel)
+ : CpuModel(Model::UpdateAlgo::FULL), hostModel_(hmodel)
{
set_maxmin_system(sys);
}
}
NetworkL07Model::NetworkL07Model(HostL07Model* hmodel, kernel::lmm::System* sys)
- : NetworkModel(Model::UpdateAlgo::Full), hostModel_(hmodel)
+ : NetworkModel(Model::UpdateAlgo::FULL), hostModel_(hmodel)
{
set_maxmin_system(sys);
- loopback_ = NetworkL07Model::createLink("__loopback__", 498000000, 0.000015, s4u::Link::SharingPolicy::FATPIPE);
+ loopback_ = NetworkL07Model::create_link("__loopback__", 498000000, 0.000015, s4u::Link::SharingPolicy::FATPIPE);
}
NetworkL07Model::~NetworkL07Model()
int nb_link = 0;
int nb_used_host = 0; /* Only the hosts with something to compute (>0 flops) are counted) */
double latency = 0.0;
+ this->set_last_update();
this->hostList_->reserve(host_nb);
for (int i = 0; i < host_nb; i++) {
return new CpuL07(this, host, speed_per_pstate, core);
}
-kernel::resource::LinkImpl* NetworkL07Model::createLink(const std::string& name, double bandwidth, double latency,
- s4u::Link::SharingPolicy policy)
+kernel::resource::LinkImpl* NetworkL07Model::create_link(const std::string& name, double bandwidth, double latency,
+ s4u::Link::SharingPolicy policy)
{
return new LinkL07(this, name, bandwidth, latency, policy);
}
tmgr_trace_event_unref(&speed_.event);
} else if (triggered == state_event_) {
- if (value > 0)
- turn_on();
- else
- turn_off();
+ if (value > 0) {
+ if (is_off()) {
+ XBT_VERB("Restart processes on host %s", get_host()->get_cname());
+ get_host()->turn_on();
+ }
+ } else
+ get_host()->turn_off();
tmgr_trace_event_unref(&state_event_);
} else {
{
XBT_DEBUG("Updating link %s (%p) with value=%f", get_cname(), this, value);
if (triggered == bandwidth_.event) {
- setBandwidth(value);
+ set_bandwidth(value);
tmgr_trace_event_unref(&bandwidth_.event);
} else if (triggered == latency_.event) {
- setLatency(value);
+ set_latency(value);
tmgr_trace_event_unref(&latency_.event);
- } else if (triggered == stateEvent_) {
+ } else if (triggered == state_event_) {
if (value > 0)
turn_on();
else
turn_off();
- tmgr_trace_event_unref(&stateEvent_);
+ tmgr_trace_event_unref(&state_event_);
} else {
xbt_die("Unknown event ! \n");
}
}
-void LinkL07::setBandwidth(double value)
+void LinkL07::set_bandwidth(double value)
{
bandwidth_.peak = value;
LinkImpl::on_bandwidth_change();
get_model()->get_maxmin_system()->update_constraint_bound(get_constraint(), bandwidth_.peak * bandwidth_.scale);
}
-void LinkL07::setLatency(double value)
+void LinkL07::set_latency(double value)
{
kernel::lmm::Variable* var = nullptr;
L07Action *action;