ExecPtr set_bound(double bound);
ExecPtr set_priority(double priority);
+ ExecPtr update_priority(double priority);
Host* get_host() const;
unsigned int get_host_number() const;
return *this;
}
+ExecImpl& ExecImpl::update_sharing_penalty(double sharing_penalty)
+{
+ sharing_penalty_ = sharing_penalty;
+ surf_action_->set_sharing_penalty(sharing_penalty);
+ return *this;
+}
+
void ExecImpl::post()
{
xbt_assert(surf_action_ != nullptr);
ExecImpl& set_timeout(double timeout) override;
ExecImpl& set_bound(double bound);
ExecImpl& set_sharing_penalty(double sharing_penalty);
+ ExecImpl& update_sharing_penalty(double sharing_penalty);
+
void set_cb_id(unsigned int cb_id) { cb_id_ = cb_id; }
double get_start_time() const { return start_time_; }
return this;
}
+ExecPtr Exec::update_priority(double priority)
+{
+ kernel::actor::simcall([this, priority] {
+ boost::static_pointer_cast<kernel::activity::ExecImpl>(pimpl_)->update_sharing_penalty(1. / priority);
+ });
+ return this;
+}
+
ExecPtr Exec::set_flops_amount(double flops_amount)
{
xbt_assert(state_ == State::INITED || state_ == State::STARTING,