X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/17c819afc4ceda4000eec137c8fee35168253b4d..d883ac7f9b2786862be1fcb700193f66ceecc030:/src/surf/ptask_L07.cpp diff --git a/src/surf/ptask_L07.cpp b/src/surf/ptask_L07.cpp index 9e2bfe1fb1..2a2b54afa6 100644 --- a/src/surf/ptask_L07.cpp +++ b/src/surf/ptask_L07.cpp @@ -57,7 +57,7 @@ NetworkL07Model::NetworkL07Model(HostL07Model* hmodel, kernel::lmm::System* sys) : NetworkModel(Model::UpdateAlgo::Full), hostModel_(hmodel) { set_maxmin_system(sys); - loopback_ = NetworkL07Model::createLink("__loopback__", 498000000, 0.000015, SURF_LINK_FATPIPE); + loopback_ = NetworkL07Model::createLink("__loopback__", 498000000, 0.000015, s4u::Link::SharingPolicy::FATPIPE); } NetworkL07Model::~NetworkL07Model() @@ -94,6 +94,7 @@ void HostL07Model::update_actions_state(double /*now*/, double delta) if ((action.latency_ <= 0.0) && (action.is_suspended() == 0)) { action.updateBound(); get_maxmin_system()->update_variable_weight(action.get_variable(), 1.0); + action.set_last_update(); } } XBT_DEBUG("Action (%p) : remains (%g) updated by %g.", &action, action.get_remains(), @@ -163,7 +164,7 @@ L07Action::L07Action(kernel::resource::Model* model, int host_nb, sg_host_t* hos if (bytes_amount[i * host_nb + j] > 0) { double lat=0.0; - std::vector route; + std::vector route; hostList_->at(i)->routeTo(hostList_->at(j), route, &lat); latency = std::max(latency, lat); @@ -191,7 +192,7 @@ L07Action::L07Action(kernel::resource::Model* model, int host_nb, sg_host_t* hos for (int i = 0; i < host_nb; i++) { for (int j = 0; j < host_nb; j++) { if (bytes_amount[i * host_nb + j] > 0.0) { - std::vector route; + std::vector route; hostList_->at(i)->routeTo(hostList_->at(j), route, nullptr); for (auto const& link : route) @@ -227,8 +228,8 @@ Cpu *CpuL07Model::createCpu(simgrid::s4u::Host *host, std::vector *spee return new CpuL07(this, host, speedPerPstate, core); } -LinkImpl* NetworkL07Model::createLink(const std::string& name, double bandwidth, double latency, - e_surf_link_sharing_policy_t policy) +kernel::resource::LinkImpl* NetworkL07Model::createLink(const std::string& name, double bandwidth, double latency, + s4u::Link::SharingPolicy policy) { return new LinkL07(this, name, bandwidth, latency, policy); } @@ -245,16 +246,16 @@ CpuL07::CpuL07(CpuL07Model* model, simgrid::s4u::Host* host, std::vector CpuL07::~CpuL07()=default; LinkL07::LinkL07(NetworkL07Model* model, const std::string& name, double bandwidth, double latency, - e_surf_link_sharing_policy_t policy) + s4u::Link::SharingPolicy policy) : LinkImpl(model, name, model->get_maxmin_system()->constraint_new(this, bandwidth)) { bandwidth_.peak = bandwidth; latency_.peak = latency; - if (policy == SURF_LINK_FATPIPE) + if (policy == s4u::Link::SharingPolicy::FATPIPE) get_constraint()->unshare(); - s4u::Link::onCreation(this->piface_); + s4u::Link::on_creation(this->piface_); } kernel::resource::Action* CpuL07::execution_start(double size) @@ -349,6 +350,8 @@ void LinkL07::apply_event(tmgr_trace_event_t triggered, double value) void LinkL07::setBandwidth(double value) { bandwidth_.peak = value; + LinkImpl::on_bandwidth_change(); + get_model()->get_maxmin_system()->update_constraint_bound(get_constraint(), bandwidth_.peak * bandwidth_.scale); } @@ -388,7 +391,7 @@ void L07Action::updateBound() if (communicationAmount_[i * hostNb + j] > 0) { double lat = 0.0; - std::vector route; + std::vector route; hostList_->at(i)->routeTo(hostList_->at(j), route, &lat); lat_current = std::max(lat_current, lat * communicationAmount_[i * hostNb + j]); @@ -396,7 +399,7 @@ void L07Action::updateBound() } } } - double lat_bound = NetworkModel::cfg_tcp_gamma / (2.0 * lat_current); + double lat_bound = kernel::resource::NetworkModel::cfg_tcp_gamma / (2.0 * lat_current); XBT_DEBUG("action (%p) : lat_bound = %g", this, lat_bound); if ((latency_ <= 0.0) && (suspended_ == Action::SuspendStates::not_suspended)) { if (rate_ < 0)