Methodology: Update MLRsearch descriptions
[csit.git] / docs / report / introduction / methodology_data_plane_throughput / methodology_mlrsearch_tests.rst
1 .. _mlrsearch_algorithm:
2
3 MLRsearch Tests
4 ---------------
5
6 Overview
7 ~~~~~~~~
8
9 Multiple Loss Rate search (MLRsearch) tests use new search algorithm
10 implemented in FD.io CSIT project. MLRsearch discovers any number of packet
11 throughput rates in a single search, with each rate associated with a
12 different Packet Loss Ratio (PLR) criteria.
13
14 Two throughput rates of interest in FD.io CSIT are Non-Drop Rate (NDR,
15 with zero packet loss, PLR=0) and Partial Drop Rate (PDR, with packet
16 loss rate not greater than the configured non-zero PLR, currently 0.5%).
17
18 MLRsearch discovers all the rates in a single pass, reducing required time
19 duration compared to separate `binary search`_es for each rate. Overall
20 search time is reduced even further by relying on shorter trial
21 durations of intermediate steps, with only the final measurements
22 conducted at the specified final trial duration. This results in the
23 shorter overall execution time when compared to standard NDR/PDR binary
24 search, while guaranteeing similar results.
25
26 .. Note:: All throughput rates are *always* bi-directional
27    aggregates of two equal (symmetric) uni-directional packet rates
28    received and reported by an external traffic generator.
29
30 Search Implementation
31 ~~~~~~~~~~~~~~~~~~~~~
32
33 Detailed description of the MLRsearch algorithm is included in the IETF
34 draft `draft-ietf-bmwg-mlrsearch-01
35 <https://datatracker.ietf.org/doc/html/draft-ietf-bmwg-mlrsearch-01>`_
36 that is in the process of being standardized in the IETF Benchmarking
37 Methodology Working Group (BMWG).
38
39 MLRsearch is also available as a `PyPI (Python Package Index) library
40 <https://pypi.org/project/MLRsearch/>`_.
41
42 Implementation Deviations
43 ~~~~~~~~~~~~~~~~~~~~~~~~~
44
45 FD.io CSIT implementation of MLRsearch is currently fully based on the -01`
46 version of the `draft-ietf-bmwg-mlrsearch
47 <https://datatracker.ietf.org/doc/html/draft-ietf-bmwg-mlrsearch-01>`_,
48 the PyPI version is slightly older.
49
50 .. _binary search: https://en.wikipedia.org/wiki/Binary_search