+ // Application parameters
+ // fixme: find better defaults
+ cost_func comp_cost("1e9, 0");
+ cost_func comm_cost("1e6, 0");
+ double min_iter_duration = 1.0;
+
+ // Parameters for the end of the simulation
+ unsigned lb_maxiter = 0;
+ unsigned comp_maxiter = 0;
+ double time_limit = 0;
+ 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);
+ }
+
+ topologies_type topologies;
+ topologies_type::topologies_type()
+ {
+ NOL_INSERT("btree", "binary tree topology, initial load at root",
+ deployment_btree);
+ NOL_INSERT("clique", "all connected topology", deployment_clique);
+ NOL_INSERT("hcube", "hypercube topology", deployment_hcube);
+ NOL_INSERT("line", "line topology, initial load at one end",
+ deployment_line);
+ NOL_INSERT("ring", "ring topology", deployment_ring);
+ NOL_INSERT("star", "star topology, initial load at center",
+ deployment_star);
+ NOL_INSERT("torus", "torus topology", deployment_torus);
+ }