diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2013-11-18 10:24:38 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2013-11-18 10:24:38 +0000 |
commit | d2a1cac67958ef35af711fce48a90674c148b6b9 (patch) | |
tree | 1a58507a95585279ba86c4e3f28f5a983870b9a9 /src/testbed/testbed_api_operations.c | |
parent | b205514cf813d9024ff2080f6b531831a0154f41 (diff) | |
download | gnunet-d2a1cac67958ef35af711fce48a90674c148b6b9.tar.gz gnunet-d2a1cac67958ef35af711fce48a90674c148b6b9.zip |
fix #2944: modify the adaptive parallelisation algorithm
Diffstat (limited to 'src/testbed/testbed_api_operations.c')
-rw-r--r-- | src/testbed/testbed_api_operations.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/testbed/testbed_api_operations.c b/src/testbed/testbed_api_operations.c index e3e9bb83d..ce2ef5715 100644 --- a/src/testbed/testbed_api_operations.c +++ b/src/testbed/testbed_api_operations.c | |||
@@ -881,6 +881,16 @@ adapt_parallelism (struct OperationQueue *queue) | |||
881 | adaptive_queue_set_max_active (queue, queue->max_active); /* no change */ | 881 | adaptive_queue_set_max_active (queue, queue->max_active); /* no change */ |
882 | return; | 882 | return; |
883 | } | 883 | } |
884 | if (1 == sd) | ||
885 | adaptive_queue_set_max_active (queue, queue->max_active - 1); | ||
886 | if (2 <= sd) | ||
887 | adaptive_queue_set_max_active (queue, queue->max_active / 2); | ||
888 | if (-1 == sd) | ||
889 | adaptive_queue_set_max_active (queue, queue->max_active + 1); | ||
890 | if (sd <= -2) | ||
891 | adaptive_queue_set_max_active (queue, queue->max_active * 2); | ||
892 | |||
893 | #if 0 /* old algorithm */ | ||
884 | if (sd < 0) | 894 | if (sd < 0) |
885 | sd = 0; | 895 | sd = 0; |
886 | GNUNET_assert (0 <= sd); | 896 | GNUNET_assert (0 <= sd); |
@@ -906,6 +916,7 @@ adapt_parallelism (struct OperationQueue *queue) | |||
906 | return; | 916 | return; |
907 | } | 917 | } |
908 | adaptive_queue_set_max_active (queue, queue->max_active / 2); | 918 | adaptive_queue_set_max_active (queue, queue->max_active / 2); |
919 | #endif | ||
909 | } | 920 | } |
910 | 921 | ||
911 | 922 | ||