diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2015-01-16 11:39:16 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2015-01-16 11:39:16 +0000 |
commit | 8e234654d3dbcc594f29dcc6ccfbecb743e32246 (patch) | |
tree | c1af983d1c194d672a985e05d0f20b9c8198b032 /src/ats | |
parent | 33ca6599024c899501e455bf53153788180c12ac (diff) | |
download | gnunet-8e234654d3dbcc594f29dcc6ccfbecb743e32246.tar.gz gnunet-8e234654d3dbcc594f29dcc6ccfbecb743e32246.zip |
test for solvers to support delayed start
Diffstat (limited to 'src/ats')
-rw-r--r-- | src/ats/Makefile.am | 40 | ||||
-rw-r--r-- | src/ats/test_ats_solver_add_address_and_request.c | 24 | ||||
-rw-r--r-- | src/ats/test_ats_solver_delayed_mlp.conf | 20 | ||||
-rw-r--r-- | src/ats/test_ats_solver_delayed_proportional.conf | 20 | ||||
-rw-r--r-- | src/ats/test_ats_solver_delayed_ril.conf | 31 |
5 files changed, 131 insertions, 4 deletions
diff --git a/src/ats/Makefile.am b/src/ats/Makefile.am index e7396358f..2ed2f4694 100644 --- a/src/ats/Makefile.am +++ b/src/ats/Makefile.am | |||
@@ -26,6 +26,7 @@ if HAVE_LIBGLPK | |||
26 | GN_MLP_PERF = perf_ats_mlp | 26 | GN_MLP_PERF = perf_ats_mlp |
27 | GN_MLP_ADD_ADDRESS = test_ats_solver_add_address_mlp | 27 | GN_MLP_ADD_ADDRESS = test_ats_solver_add_address_mlp |
28 | GN_MLP_ADD_REQUEST_ADDRESS = test_ats_solver_add_address_and_request_mlp | 28 | GN_MLP_ADD_REQUEST_ADDRESS = test_ats_solver_add_address_and_request_mlp |
29 | GN_MLP_ADD_REQUEST_ADDRESS_DELAYED = test_ats_solver_add_address_and_request_delayed_mlp | ||
29 | GN_MLP_REQUEST_ADD_ADDRESS = test_ats_solver_request_and_add_address_mlp | 30 | GN_MLP_REQUEST_ADD_ADDRESS = test_ats_solver_request_and_add_address_mlp |
30 | GN_MLP_REQUEST_DELETE_ADDRESS = test_ats_solver_request_and_delete_address_mlp | 31 | GN_MLP_REQUEST_DELETE_ADDRESS = test_ats_solver_request_and_delete_address_mlp |
31 | GN_MLP_PREFERENCES_ADDRESS = test_ats_solver_preferences_mlp | 32 | GN_MLP_PREFERENCES_ADDRESS = test_ats_solver_preferences_mlp |
@@ -123,10 +124,11 @@ TESTING_TESTS = \ | |||
123 | test_ats_api_performance_list_peer_addresses \ | 124 | test_ats_api_performance_list_peer_addresses \ |
124 | test_ats_api_performance_list_all_addresses_active \ | 125 | test_ats_api_performance_list_all_addresses_active \ |
125 | test_ats_api_performance_monitor \ | 126 | test_ats_api_performance_monitor \ |
126 | test_ats_api_delayed_service_performance_monitor\ | 127 | test_ats_api_delayed_service_performance_monitor \ |
127 | test_ats_api_performance_monitor_initial_callback \ | 128 | test_ats_api_performance_monitor_initial_callback \ |
128 | test_ats_solver_add_address_proportional \ | 129 | test_ats_solver_add_address_proportional \ |
129 | test_ats_solver_add_address_and_request_proportional \ | 130 | test_ats_solver_add_address_and_request_proportional \ |
131 | test_ats_solver_add_address_and_request_delayed_proportional\ | ||
130 | test_ats_solver_request_and_add_address_proportional \ | 132 | test_ats_solver_request_and_add_address_proportional \ |
131 | test_ats_solver_request_and_delete_address_proportional \ | 133 | test_ats_solver_request_and_delete_address_proportional \ |
132 | test_ats_solver_alternative_after_delete_address_proportional \ | 134 | test_ats_solver_alternative_after_delete_address_proportional \ |
@@ -134,12 +136,14 @@ TESTING_TESTS = \ | |||
134 | test_ats_solver_preferences_ril \ | 136 | test_ats_solver_preferences_ril \ |
135 | $(GN_MLP_ADD_ADDRESS) \ | 137 | $(GN_MLP_ADD_ADDRESS) \ |
136 | $(GN_MLP_ADD_REQUEST_ADDRESS) \ | 138 | $(GN_MLP_ADD_REQUEST_ADDRESS) \ |
139 | $(GN_MLP_ADD_REQUEST_ADDRESS_DELAYED) \ | ||
137 | $(GN_MLP_REQUEST_ADD_ADDRESS) \ | 140 | $(GN_MLP_REQUEST_ADD_ADDRESS) \ |
138 | $(GN_MLP_REQUEST_DELETE_ADDRESS) \ | 141 | $(GN_MLP_REQUEST_DELETE_ADDRESS) \ |
139 | $(GN_MLP_ALTERNATIVE_DELETE_ADDRESS) \ | 142 | $(GN_MLP_ALTERNATIVE_DELETE_ADDRESS) \ |
140 | $(GN_MLP_PREFERENCES_ADDRESS) \ | 143 | $(GN_MLP_PREFERENCES_ADDRESS) \ |
141 | test_ats_solver_add_address_ril \ | 144 | test_ats_solver_add_address_ril \ |
142 | test_ats_solver_add_address_and_request_ril \ | 145 | test_ats_solver_add_address_and_request_ril \ |
146 | test_ats_solver_add_address_and_request_delayed_ril \ | ||
143 | test_ats_solver_request_and_add_address_ril \ | 147 | test_ats_solver_request_and_add_address_ril \ |
144 | test_ats_solver_request_and_delete_address_ril \ | 148 | test_ats_solver_request_and_delete_address_ril \ |
145 | test_ats_solver_alternative_after_delete_address_ril \ | 149 | test_ats_solver_alternative_after_delete_address_ril \ |
@@ -347,6 +351,26 @@ test_ats_solver_add_address_and_request_proportional_LDADD = \ | |||
347 | libgnunetats.la \ | 351 | libgnunetats.la \ |
348 | $(top_builddir)/src/statistics/libgnunetstatistics.la | 352 | $(top_builddir)/src/statistics/libgnunetstatistics.la |
349 | 353 | ||
354 | test_ats_solver_add_address_and_request_delayed_proportional_SOURCES = \ | ||
355 | test_ats_solver_add_address_and_request.c \ | ||
356 | test_ats_api_common.c test_ats_api_common.h | ||
357 | test_ats_solver_add_address_and_request_delayed_proportional_LDADD = \ | ||
358 | $(top_builddir)/src/util/libgnunetutil.la \ | ||
359 | $(top_builddir)/src/testing/libgnunettesting.la \ | ||
360 | $(top_builddir)/src/hello/libgnunethello.la \ | ||
361 | libgnunetats.la \ | ||
362 | $(top_builddir)/src/statistics/libgnunetstatistics.la | ||
363 | |||
364 | test_ats_solver_add_address_and_request_delayed_ril_SOURCES = \ | ||
365 | test_ats_solver_add_address_and_request.c \ | ||
366 | test_ats_api_common.c test_ats_api_common.h | ||
367 | test_ats_solver_add_address_and_request_delayed_ril_LDADD = \ | ||
368 | $(top_builddir)/src/util/libgnunetutil.la \ | ||
369 | $(top_builddir)/src/testing/libgnunettesting.la \ | ||
370 | $(top_builddir)/src/hello/libgnunethello.la \ | ||
371 | libgnunetats.la \ | ||
372 | $(top_builddir)/src/statistics/libgnunetstatistics.la | ||
373 | |||
350 | if HAVE_LIBGLPK | 374 | if HAVE_LIBGLPK |
351 | test_ats_solver_add_address_and_request_mlp_SOURCES = \ | 375 | test_ats_solver_add_address_and_request_mlp_SOURCES = \ |
352 | test_ats_solver_add_address_and_request.c \ | 376 | test_ats_solver_add_address_and_request.c \ |
@@ -359,6 +383,16 @@ test_ats_solver_add_address_and_request_mlp_LDADD = \ | |||
359 | $(top_builddir)/src/statistics/libgnunetstatistics.la | 383 | $(top_builddir)/src/statistics/libgnunetstatistics.la |
360 | endif | 384 | endif |
361 | 385 | ||
386 | test_ats_solver_add_address_and_request_delayed_mlp_SOURCES = \ | ||
387 | test_ats_solver_add_address_and_request.c \ | ||
388 | test_ats_api_common.c test_ats_api_common.h | ||
389 | test_ats_solver_add_address_and_request_delayed_mlp_LDADD = \ | ||
390 | $(top_builddir)/src/util/libgnunetutil.la \ | ||
391 | $(top_builddir)/src/testing/libgnunettesting.la \ | ||
392 | $(top_builddir)/src/hello/libgnunethello.la \ | ||
393 | libgnunetats.la \ | ||
394 | $(top_builddir)/src/statistics/libgnunetstatistics.la | ||
395 | |||
362 | test_ats_solver_add_address_and_request_ril_SOURCES = \ | 396 | test_ats_solver_add_address_and_request_ril_SOURCES = \ |
363 | test_ats_solver_add_address_and_request.c \ | 397 | test_ats_solver_add_address_and_request.c \ |
364 | test_ats_api_common.c test_ats_api_common.h | 398 | test_ats_api_common.c test_ats_api_common.h |
@@ -538,9 +572,13 @@ EXTRA_DIST = \ | |||
538 | test_ats_mlp.conf \ | 572 | test_ats_mlp.conf \ |
539 | test_ats_solver_default.conf \ | 573 | test_ats_solver_default.conf \ |
540 | test_ats_solver_proportional.conf \ | 574 | test_ats_solver_proportional.conf \ |
575 | test_ats_solver_proportional.conf \ | ||
541 | test_ats_solver_mlp.conf \ | 576 | test_ats_solver_mlp.conf \ |
577 | test_ats_solver_delayed_mlp.conf \ | ||
542 | test_ats_solver_ril.conf \ | 578 | test_ats_solver_ril.conf \ |
579 | test_ats_solver_delayed_ril.conf \ | ||
543 | perf_ats_solver_mlp.conf \ | 580 | perf_ats_solver_mlp.conf \ |
581 | test_ats_solver_delayed_mlp.conf \ | ||
544 | perf_ats_solver_proportional.conf \ | 582 | perf_ats_solver_proportional.conf \ |
545 | perf_ats_solver_ril.conf \ | 583 | perf_ats_solver_ril.conf \ |
546 | perf_ats_solver.conf | 584 | perf_ats_solver.conf |
diff --git a/src/ats/test_ats_solver_add_address_and_request.c b/src/ats/test_ats_solver_add_address_and_request.c index 1f07f46af..cca1e4692 100644 --- a/src/ats/test_ats_solver_add_address_and_request.c +++ b/src/ats/test_ats_solver_add_address_and_request.c | |||
@@ -214,6 +214,7 @@ main (int argc, char *argv[]) | |||
214 | char *test_filename = GNUNET_strdup (argv[0]); | 214 | char *test_filename = GNUNET_strdup (argv[0]); |
215 | char *config_file; | 215 | char *config_file; |
216 | char *solver; | 216 | char *solver; |
217 | int delayed = GNUNET_NO; | ||
217 | 218 | ||
218 | ret = 0; | 219 | ret = 0; |
219 | 220 | ||
@@ -232,25 +233,42 @@ main (int argc, char *argv[]) | |||
232 | GNUNET_break (0); | 233 | GNUNET_break (0); |
233 | return -1; | 234 | return -1; |
234 | } | 235 | } |
236 | |||
235 | solver += strlen (src_filename) +1; | 237 | solver += strlen (src_filename) +1; |
236 | 238 | ||
239 | if (NULL != strstr (solver, "delayed_")) | ||
240 | { | ||
241 | delayed = GNUNET_YES; | ||
242 | solver += strlen ("delayed_"); | ||
243 | } | ||
244 | |||
237 | if (0 == strcmp(solver, "proportional")) | 245 | if (0 == strcmp(solver, "proportional")) |
238 | { | 246 | { |
239 | config_file = "test_ats_solver_proportional.conf"; | 247 | if (delayed) |
248 | config_file = "test_ats_solver_delayed_proportional.conf"; | ||
249 | else | ||
250 | config_file = "test_ats_solver_proportional.conf"; | ||
240 | } | 251 | } |
241 | else if (0 == strcmp(solver, "mlp")) | 252 | else if (0 == strcmp(solver, "mlp")) |
242 | { | 253 | { |
243 | config_file = "test_ats_solver_mlp.conf"; | 254 | if (delayed) |
255 | config_file = "test_ats_solver_delayed_mlp.conf"; | ||
256 | else | ||
257 | config_file = "test_ats_solver_mlp.conf"; | ||
244 | } | 258 | } |
245 | else if ((0 == strcmp(solver, "ril"))) | 259 | else if ((0 == strcmp(solver, "ril"))) |
246 | { | 260 | { |
247 | config_file = "test_ats_solver_ril.conf"; | 261 | if (delayed) |
262 | config_file = "test_ats_solver_delayed_ril.conf"; | ||
263 | else | ||
264 | config_file = "test_ats_solver_ril.conf"; | ||
248 | } | 265 | } |
249 | else | 266 | else |
250 | { | 267 | { |
251 | GNUNET_break (0); | 268 | GNUNET_break (0); |
252 | GNUNET_free (src_filename); | 269 | GNUNET_free (src_filename); |
253 | GNUNET_free (test_filename); | 270 | GNUNET_free (test_filename); |
271 | FPRINTF (stderr, "Invalid test name or configuration not found `%s'\n",src_filename); | ||
254 | return 1; | 272 | return 1; |
255 | } | 273 | } |
256 | 274 | ||
diff --git a/src/ats/test_ats_solver_delayed_mlp.conf b/src/ats/test_ats_solver_delayed_mlp.conf new file mode 100644 index 000000000..65142bc84 --- /dev/null +++ b/src/ats/test_ats_solver_delayed_mlp.conf | |||
@@ -0,0 +1,20 @@ | |||
1 | @INLINE@ test_ats_solver_default.conf | ||
2 | |||
3 | [ats] | ||
4 | PREFIX = ./test_delay -t 10 -- | ||
5 | MODE = MLP | ||
6 | # UNSPECIFIED | ||
7 | UNSPECIFIED_QUOTA_IN = 64 KiB | ||
8 | UNSPECIFIED_QUOTA_OUT = 64 KiB | ||
9 | # LOOPBACK | ||
10 | LOOPBACK_QUOTA_IN = unlimited | ||
11 | LOOPBACK_QUOTA_OUT = unlimited | ||
12 | # LAN | ||
13 | LAN_QUOTA_IN = unlimited | ||
14 | LAN_QUOTA_OUT = unlimited | ||
15 | # WAN | ||
16 | WAN_QUOTA_IN = 64 KiB | ||
17 | WAN_QUOTA_OUT = 64 KiB | ||
18 | # WLAN | ||
19 | WLAN_QUOTA_IN = 512 | ||
20 | WLAN_QUOTA_OUT = 512 | ||
diff --git a/src/ats/test_ats_solver_delayed_proportional.conf b/src/ats/test_ats_solver_delayed_proportional.conf new file mode 100644 index 000000000..260b069f5 --- /dev/null +++ b/src/ats/test_ats_solver_delayed_proportional.conf | |||
@@ -0,0 +1,20 @@ | |||
1 | @INLINE@ test_ats_solver_default.conf | ||
2 | |||
3 | [ats] | ||
4 | PREFIX = ./test_delay -t 10 -- | ||
5 | MODE = PROPORTIONAL | ||
6 | # UNSPECIFIED | ||
7 | UNSPECIFIED_QUOTA_IN = 64 KiB | ||
8 | UNSPECIFIED_QUOTA_OUT = 64 KiB | ||
9 | # LOOPBACK | ||
10 | LOOPBACK_QUOTA_IN = unlimited | ||
11 | LOOPBACK_QUOTA_OUT = unlimited | ||
12 | # LAN | ||
13 | LAN_QUOTA_IN = unlimited | ||
14 | LAN_QUOTA_OUT = unlimited | ||
15 | # WAN | ||
16 | WAN_QUOTA_IN = 64 KiB | ||
17 | WAN_QUOTA_OUT = 64 KiB | ||
18 | # WLAN | ||
19 | WLAN_QUOTA_IN = 512 | ||
20 | WLAN_QUOTA_OUT = 512 | ||
diff --git a/src/ats/test_ats_solver_delayed_ril.conf b/src/ats/test_ats_solver_delayed_ril.conf new file mode 100644 index 000000000..e802f351b --- /dev/null +++ b/src/ats/test_ats_solver_delayed_ril.conf | |||
@@ -0,0 +1,31 @@ | |||
1 | @INLINE@ test_ats_solver_default.conf | ||
2 | |||
3 | [ats] | ||
4 | PREFIX = ./test_delay -t 10 -- | ||
5 | MODE = RIL | ||
6 | # UNSPECIFIED | ||
7 | UNSPECIFIED_QUOTA_IN = 64 KiB | ||
8 | UNSPECIFIED_QUOTA_OUT = 64 KiB | ||
9 | # LOOPBACK | ||
10 | LOOPBACK_QUOTA_IN = unlimited | ||
11 | LOOPBACK_QUOTA_OUT = unlimited | ||
12 | # LAN | ||
13 | LAN_QUOTA_IN = unlimited | ||
14 | LAN_QUOTA_OUT = unlimited | ||
15 | # WAN | ||
16 | WAN_QUOTA_IN = 64 KiB | ||
17 | WAN_QUOTA_OUT = 64 KiB | ||
18 | # WLAN | ||
19 | WLAN_QUOTA_IN = 512 | ||
20 | WLAN_QUOTA_OUT = 512 | ||
21 | |||
22 | # Reinforcement Learning Parameters | ||
23 | RIL_STEP_TIME_MIN = 500 ms | ||
24 | RIL_STEP_TIME_MAX = 1000 ms | ||
25 | |||
26 | RIL_ALGORITHM = Q | ||
27 | RIL_DISCOUNT_BETA = 0.7 | ||
28 | RIL_GRADIENT_STEP_SIZE = 0.3 | ||
29 | RIL_TRACE_DECAY = 0.2 | ||
30 | RIL_EXPLORE_RATIO = 0.1 | ||
31 | RIL_GLOBAL_REWARD_SHARE = 1 | ||