diff options
author | Vratko Polak <vrpolak@cisco.com> | 2018-05-10 19:27:30 +0200 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2018-05-16 11:21:56 +0000 |
commit | 0a0b9d81b7e46ac485d66e9aeb2c8def639680c6 (patch) | |
tree | 0989f4b5843e05c132bcee285e6b3adcd70221fc /resources/libraries/python | |
parent | 72813c366cdaae8ee3c7103d6c61340650245b57 (diff) |
CSIT-992: Fix intermediate phases MDR parameter
Also add TODOs and improve comments.
Change-Id: I50bd652c83c272c3f7662dd487ab617be2b7de08
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Diffstat (limited to 'resources/libraries/python')
-rw-r--r-- | resources/libraries/python/TrafficGenerator.py | 11 | ||||
-rw-r--r-- | resources/libraries/python/search/OptimizedSearchAlgorithm.py | 12 |
2 files changed, 15 insertions, 8 deletions
diff --git a/resources/libraries/python/TrafficGenerator.py b/resources/libraries/python/TrafficGenerator.py index bf6383e52a..816b946381 100644 --- a/resources/libraries/python/TrafficGenerator.py +++ b/resources/libraries/python/TrafficGenerator.py @@ -612,7 +612,8 @@ class OptimizedSearch(object): frame_size, traffic_type, minimum_transmit_rate, maximum_transmit_rate, packet_loss_ratio=0.005, final_relative_width=0.005, final_trial_duration=30.0, - initial_trial_duration=1.0, intermediate_phases=2, timeout=600.0): + initial_trial_duration=1.0, number_of_intermediate_phases=2, + timeout=600.0): """Setup initialized TG, perform optimized search, return intervals. :param frame_size: Frame size identifier or value [B]. @@ -628,8 +629,8 @@ class OptimizedSearch(object): :param final_trial_duration: Trial duration for the final phase [s]. :param initial_trial_duration: Trial duration for the initial phase and also for the first intermediate phase [s]. - :param intermediate_phases: Number of intermediate phases to perform - before the final phase [1]. + :param number_of_intermediate_phases: Number of intermediate phases + to perform before the final phase [1]. :param timeout: The search will fail itself when not finished before this overall time [s]. :type frame_size: str or int @@ -640,7 +641,7 @@ class OptimizedSearch(object): :type final_relative_width: float :type final_trial_duration: float :type initial_trial_duration: float - :type intermediate_phases: int + :type number_of_intermediate_phases: int :type timeout: float :returns: Structure containing narrowed down intervals and their measurements. @@ -655,7 +656,7 @@ class OptimizedSearch(object): algorithm = OptimizedSearchAlgorithm( tg_instance, final_trial_duration=final_trial_duration, final_relative_width=final_relative_width, - intermediate_phases=intermediate_phases, + number_of_intermediate_phases=number_of_intermediate_phases, initial_trial_duration=initial_trial_duration, timeout=timeout) result = algorithm.narrow_down_ndr_and_pdr( minimum_transmit_rate, maximum_transmit_rate, packet_loss_ratio) diff --git a/resources/libraries/python/search/OptimizedSearchAlgorithm.py b/resources/libraries/python/search/OptimizedSearchAlgorithm.py index 0d3eacc937..c96ab444e2 100644 --- a/resources/libraries/python/search/OptimizedSearchAlgorithm.py +++ b/resources/libraries/python/search/OptimizedSearchAlgorithm.py @@ -73,7 +73,13 @@ class OptimizedSearchAlgorithm(AbstractSearchAlgorithm): or all of the following is true: Both bounds are valid, bound bounds are measured at the current phase trial duration, interval width is less than the width goal - for current phase.""" + for current phase. + + TODO: Reviwew and update this docstring according to rst docs. + TODO: Initial phase: Larger min width and search up on zero. + TODO: Support configurable number of Packet Loss Ratios. + TODO: Rename to MultipleDropRateSearch (or MultipleLossRatioSearch). + """ class ProgressState(object): """Structure containing data to be passed around in recursion.""" @@ -439,7 +445,7 @@ class OptimizedSearchAlgorithm(AbstractSearchAlgorithm): continue # If we are hitting maximum_transmit_rate, # it is still worth narrowing width, - # hoping large enough Df will happen. + # hoping large enough loss fraction will happen. # But if we are hitting the minimal rate (at current duration), # no additional measurement will help with that, # so we can stop narrowing in this phase. @@ -473,7 +479,7 @@ class OptimizedSearchAlgorithm(AbstractSearchAlgorithm): logging.info("re-measuring PDR lower bound") self._measure_and_update_state(state, pdr_lo.target_tr) continue - # Except when lower bounds have high Df, in that case + # Except when lower bounds have high loss fraction, in that case # we do not need to re-measure _upper_ bounds. if ndr_hi.duration < state.duration and ndr_rel_width > 0.0: logging.info("re-measuring NDR upper bound") |