6 #include "named_object_list.h"
8 // These classes may use include options.h, so make forward declarations
9 class deployment_generator;
12 // Global parameters, shared by all the processes
16 extern const double load_ratio_threshold;
19 extern std::string program_name;
20 extern int help_requested;
21 extern bool version_requested;
23 // Simulation parameters
24 extern unsigned log_rate;
26 // Platform and deployment
27 extern std::string platform_file;
28 extern std::string deployment_file;
30 // Automatic deployment
33 extern std::string topology;
34 extern unsigned nhosts;
38 // Load balancing algorithm
39 extern std::string loba_algo;
40 extern bool bookkeeping;
42 // Application parameters
43 extern cost_func comp_cost;
44 extern cost_func comm_cost;
45 extern double min_iter_duration;
47 // Parameters for the end of the simulation
48 extern unsigned lb_maxiter;
49 extern unsigned comp_maxiter;
50 extern double time_limit;
51 extern bool exit_on_close;
53 // Named parameters lists
54 extern struct loba_algorithms_type:
55 public named_object_list2<process, int, char** > {
56 loba_algorithms_type();
59 extern struct topologies_type:
60 public named_object_list<deployment_generator> {
65 bool parse_args(int* argc, char* argv[]);