#include "loba_simple.h"
#include "loba_fairstrategy.h"
#include "loba_makhoul.h"
+#include "loba_makhoul2.h"
#include "misc.h"
#include "options.h"
+#define DATA_DESCR_WIDTH 42
+
namespace opt {
// Constants
loba_fairstrategy);
NOL_INSERT("makhoul", "balance with Makhoul's PhD algorithm",
loba_makhoul);
+ NOL_INSERT("makhoul2", "balance with Makhoul's source code",
+ loba_makhoul2);
NOL_INSERT("none", "no load-balancing (for testing only)",
process);
NOL_INSERT("simple", "balance with least loaded neighbor",
const char* opt_helper::descr(const char* str)
{
- const int descr_width = 40;
std::string& res = descr_str;
res = str;
- res.resize(descr_width, '.');
+ res.resize(DATA_DESCR_WIDTH, '.');
return res.c_str();
}
DESCR("computation cost factors", "[%s]", comp_cost.to_string().c_str());
DESCR("communication cost factors", "[%s]", comm_cost.to_string().c_str());
DESCR("minimum data transfer amount", "%g", min_transfer_amount);
- DESCR("maximum data transfer amount", "%g", max_transfer_amount);
+ DESCR("maximum data transfer amount", "%s",
+ h.val_or_string(max_transfer_amount, "no limit"));
DESCR("minimum duration between comp. iterations", "%g",
min_comp_iter_duration);
DESCR("computations start after lb. iter", "%u", comp_iter_delay);
DESCR("computations start after time", "%g", comp_time_delay);
DESCR("maximum number of lb. iterations", "%s",
- h.val_or_string(lb_maxiter, "infinity"));
+ h.val_or_string(lb_maxiter, "no limit"));
DESCR("maximum number of comp. iterations", "%s",
- h.val_or_string(comp_maxiter, "infinity"));
- DESCR("time limit", "%s", h.val_or_string(time_limit, "infinity"));
+ h.val_or_string(comp_maxiter, "no limit"));
+ DESCR("time limit", "%s", h.val_or_string(time_limit, "no limit"));
DESCR("exit on close", "%s", h.on_off(exit_on_close));
XBT_INFO("`----");
<< "minimum data transfer amount"
<< " [" << opt::min_transfer_amount << "]\n";
std::clog << o("-M value")
- << "maximum data transfer amount (0 for no limit)"
+ << "maximum data transfer amount, 0 for no limit"
<< " [" << opt::max_transfer_amount << "]\n";
std::clog << o("-S value")
<< "minimum duration between comp. iterations"
std::clog << "\nParameters for the end of the simulation\n";
std::clog << o("-i value")
- << "maximum number of lb. iterations, 0 for infinity"
+ << "maximum number of lb. iterations, 0 for no limit"
<< " [" << opt::lb_maxiter << "]\n";
std::clog << o("-I value")
- << "maximum number of comp. iterations, 0 for infinity"
+ << "maximum number of comp. iterations, 0 for no limit"
<< " [" << opt::comp_maxiter << "]\n";
std::clog << o("-t value")
- << "time limit (simulated time), 0 for infinity"
+ << "time limit (simulated time), 0 for no limit"
<< " [" << opt::time_limit << "]\n";
std::clog << o("-e") << "toggle exit on reception of \"close\" message"
<< " [" << opt_helper::on_off(opt::exit_on_close) << "]\n";