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;
22 extern int option_x; // hidden option, for debugging purpose
24 // Simulation parameters
26 extern bool exit_request;
28 // Platform and deployment
29 extern std::string platform_file;
30 extern std::string deployment_file;
32 // Automatic deployment
35 extern std::string topology;
36 extern unsigned nhosts;
38 extern bool random_distribution;
39 extern unsigned long random_seed;
42 // Load balancing algorithm
43 extern std::string loba_algo;
44 extern bool bookkeeping;
45 extern double min_transfer_amount;
46 extern double max_transfer_amount;
47 extern double min_lb_iter_duration;
49 // Application parameters
50 extern cost_func comp_cost;
51 extern cost_func comm_cost;
52 extern double min_comp_iter_duration;
53 extern unsigned comp_iter_delay;
54 extern double comp_time_delay;
56 // Parameters for the end of the simulation
57 extern unsigned lb_maxiter;
58 extern unsigned comp_maxiter;
59 extern double time_limit;
60 extern bool exit_on_close;
62 // Named parameters lists
63 extern struct loba_algorithms_type:
64 public named_object_list2<process, int, char** > {
65 loba_algorithms_type();
68 extern struct topologies_type:
69 public named_object_list<deployment_generator> {
74 bool parse_args(int* argc, char* argv[]);