+ // Simulation parameters
+ unsigned log_rate = 1;
+
+ // Platform and deployment
+ std::string platform_file;
+ std::string deployment_file;
+
+ // Automatic deployment
+ namespace auto_depl {
+ bool enabled = false;
+ std::string topology;
+ unsigned nhosts = 0;
+ double load = 0.0;
+ }
+
+ // Load balancing algorithm
+ std::string loba_algo("simple");
+ bool bookkeeping = false;
+
+ // Application parameters
+ cost_func comp_cost("1e9, 0"); // fixme: find better defaults
+ cost_func comm_cost("1, 0"); // fixme: find better defaults
+ unsigned maxiter = 4; // fixme
+ bool exit_on_close = false;
+
+ // Named parameters lists
+ loba_algorithms_type loba_algorithms;
+ loba_algorithms_type::loba_algorithms_type()
+ {
+ NOL_INSERT("none", "no load-balancing (for testing)", process);
+ NOL_INSERT("simple", "balance with least loaded neighbor", loba_simple);
+ }
+
+ topologies_type topologies;
+ topologies_type::topologies_type()
+ {
+ NOL_INSERT("btree", "binary tree topologym intiial 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);
+ }