X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/51f707d60785283c582c16c141ab6832a744dd3a..c86e5ff42db3495538c8b48cb7ea0943a13702b7:/options.cpp?ds=inline diff --git a/options.cpp b/options.cpp index 89f8b18..85c2130 100644 --- a/options.cpp +++ b/options.cpp @@ -11,6 +11,8 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(main); #include "process.h" #include "loba_simple.h" #include "loba_fairstrategy.h" +#include "loba_makhoul.h" +#include "misc.h" #include "options.h" @@ -53,17 +55,17 @@ namespace opt { double min_iter_duration = 1.0; // Parameters for the end of the simulation - // fixme: find better defaults - unsigned lb_maxiter = 10; + unsigned lb_maxiter = 0; unsigned comp_maxiter = 0; double time_limit = 0; - bool exit_on_close = false; + bool exit_on_close = true; // Named parameters lists loba_algorithms_type loba_algorithms; loba_algorithms_type::loba_algorithms_type() { NOL_INSERT("fairstrategy", "balance with fair strategy", loba_fairstrategy); + NOL_INSERT("makhoul", "balance with Makhoul's PhD algorithm", loba_makhoul); NOL_INSERT("none", "no load-balancing (for testing only)", process); NOL_INSERT("simple", "balance with least loaded neighbor", loba_simple); } @@ -149,18 +151,18 @@ bool opt_helper::nol_find_prefix(const T& nol, const char* descr, } switch (candidates.size()) { case 0: - ERROR2("unknownw %s -- %s", descr, name.c_str()); + XBT_ERROR("unknownw %s -- %s", descr, name.c_str()); break; case 1: name = candidates.top(); candidates.pop(); result = true; - DEBUG2("infered %s -- %s", descr, name.c_str()); + XBT_DEBUG("infered %s -- %s", descr, name.c_str()); break; default: - ERROR2("ambiguous %s -- %s", descr, name.c_str()); + XBT_ERROR("ambiguous %s -- %s", descr, name.c_str()); while (!candidates.empty()) { - ERROR1(" candidates are -- %s", candidates.top().c_str()); + XBT_ERROR(" candidates are -- %s", candidates.top().c_str()); candidates.pop(); } break; @@ -237,7 +239,7 @@ bool opt::parse_args(int* argc, char* argv[]) opt::version_requested = true; break; case '?': - ERROR1("invalid option -- '%c'", optopt); + XBT_ERROR("invalid option -- '%c'", optopt); result = false; break; } @@ -249,7 +251,7 @@ bool opt::parse_args(int* argc, char* argv[]) if (optind < *argc) { opt::platform_file = argv[optind++]; } else { - ERROR0("missing parameter -- "); + XBT_ERROR("missing parameter -- "); result = false; } if (optind < *argc) { @@ -258,7 +260,7 @@ bool opt::parse_args(int* argc, char* argv[]) opt::auto_depl::enabled = opt::deployment_file.empty(); while (optind < *argc) { - ERROR1("unused parameter -- \"%s\"", argv[optind++]); + XBT_ERROR("unused parameter -- \"%s\"", argv[optind++]); result = false; } @@ -270,13 +272,13 @@ void opt::print() opt_helper h; #define DESCR(description, format, value) \ - INFO2("| %s: " format, h.descr(description), value) + XBT_INFO("| %s: " format, h.descr(description), value) - INFO0(",----[ Simulation parameters ]"); + XBT_INFO(",----[ Simulation parameters ]"); DESCR("log rate", "%s", h.val_or_string(log_rate, "disabled")); DESCR("platform file", "\"%s\"", platform_file.c_str()); if (auto_depl::enabled) { - INFO0("| automatic deployment enabled"); + XBT_INFO("| automatic deployment enabled"); DESCR("- topology", "%s", auto_depl::topology.c_str()); DESCR("- number of hosts", "%s", h.val_or_string(auto_depl::nhosts, "auto")); @@ -296,7 +298,7 @@ void opt::print() h.val_or_string(comp_maxiter, "infinity")); DESCR("time limit", "%s", h.val_or_string(time_limit, "infinity")); DESCR("exit on close", "%s", h.on_off(exit_on_close)); - INFO0("`----"); + XBT_INFO("`----"); #undef DESCR }