XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_maxmin);
-simgrid::kernel::lmm::System* simgrid::kernel::lmm::make_new_fair_bottleneck_system(bool selective_update)
-{
- return new simgrid::kernel::lmm::FairBottleneck(selective_update);
-}
-
void simgrid::kernel::lmm::FairBottleneck::bottleneck_solve()
{
if (not modified_)
int Variable::next_rank_ = 1;
int Constraint::next_rank_ = 1;
-System* make_new_maxmin_system(bool selective_update)
-{
- return new System(selective_update);
-}
-
int Element::get_concurrency() const
{
// Ignore element with weight less than one (e.g. cross-traffic)
void bottleneck_solve();
};
-XBT_PUBLIC System* make_new_maxmin_system(bool selective_update);
-XBT_PUBLIC System* make_new_fair_bottleneck_system(bool selective_update);
-
/** @} */
} // namespace lmm
} // namespace kernel
namespace kernel {
namespace resource {
-NetworkCm02Model::NetworkCm02Model(kernel::lmm::System* (*make_new_lmm_system)(bool))
+NetworkCm02Model::NetworkCm02Model()
: NetworkModel(simgrid::config::get_value<std::string>("network/optim") == "Full" ? Model::UpdateAlgo::FULL
: Model::UpdateAlgo::LAZY)
{
select = true;
}
- set_maxmin_system(make_new_lmm_system(select));
+ set_maxmin_system(new lmm::System(select));
loopback_ = NetworkCm02Model::create_link("__loopback__",
std::vector<double>{simgrid::config::get_value<double>("network/loopback-bw")},
simgrid::config::get_value<double>("network/loopback-lat"),
class NetworkCm02Model : public NetworkModel {
public:
- explicit NetworkCm02Model(lmm::System* (*make_new_sys)(bool) = &lmm::make_new_maxmin_system);
+ NetworkCm02Model();
~NetworkCm02Model() override = default;
LinkImpl* create_link(const std::string& name, const std::vector<double>& bandwidths, double latency,
s4u::Link::SharingPolicy policy) override;