Each traffic profile is an N dimentional rectangular matrix. A simple example would be the two dimentional matrix of Number of clients say 1-11 vs the transfer sizs, say 0 kByte to 1 Mbyte. Each axis, or sweep, is given a number of steps. At the intersection of each sweeps steps we have an argument vector that the tests are run with.
| Numer of clients [1-11] in 6 steps | |||||||
|---|---|---|---|---|---|---|---|
| Transfer size [0 - 1Mbyte] in 6 steps | 1 | 3 | 5 | 7 | 9 | 11 | |
| 0 |    |   |   |   |   |   | |
| 200,000 |   |   |   |   |   |   | |
| 400,000 |   |   |   |   |   |   | |
| 600,000 |   |   |   |   |   |   | |
| 800,000 |   |   |   |   |   |   | |
| 1,000,000 |   |   |   |   |   |   | |
The test driver then walks the matrix, setting knobs to there specified values for the cell in question and waiting a proscribed amount of time to complete data accuisition for this cell. The above exmaple uses sweeps that are numeric and linearly interpolated. There are many other options that are possible. Review the documentation to find out more.
Knobs are the way things get done. The software is based on the analogy of knobs and widgets. A knob is the input side and the widgets respond to the knobs commands and act accordingly.
for example a simple knob is a location for example 'knobspace', and a name for example 'mtu' or 'avgfilesize'.
Then there are smart knobs. Smart knobs allow one to build and orchistrate relationships between different knobs. For example, if you'd like to set 5 knobs to identical values a 'samesame' smart knob would be used. If you would like the data value to be spread around several knbs then the 'roundrobin' smart knob would be used. For other examples and an expanded explenation see the documentation.
| Sweep # | datatype | scale/interpolation | start | end | # steps | Knobs |
|---|---|---|---|---|---|---|
| 1 | int | linear | 64 | 0 | 1 |
| Sweep # | datatype | scale/interpolation | start | end | # steps | Knobs |
|---|---|---|---|---|---|---|
| 1 | int | linear | 64 | 0 | 1 | knobspace/roundrobin(top_wget_0,bottom_wget_0,top_wget_1,bottom_wget_1)|processes |
| 2 | int | log | 1500 | 70 | 1 | knobspace/samesame(top_wget_0,bottom_wget_0,top_wget_1,bottom_wget_1)|mtu |
| 3 | int | linear | 0 | 300000 | 10 | knobspace/samesame(top_wget_0,bottom_wget_0,top_wget_1,bottom_wget_1)|avgfilesize |
| Sweep # | datatype | scale/interpolation | start | end | # steps | Knobs |
|---|---|---|---|---|---|---|
| 1 | int | linear | 64 | 0 | 1 | knobspace/roundrobin(top_wget_0,bottom_wget_0,top_wget_1,bottom_wget_1)|processes |
| 2 | int | log | 1 | 300000 | 5 | knobspace/samesame(top_wget_0,bottom_wget_0,top_wget_1,bottom_wget_1)|avgfilesize |
| 3 | int | linear | 1500 | 70 | 10 | knobspace/samesame(top_wget_0,bottom_wget_0,top_wget_1,bottom_wget_1)|mtu |
Yes, this page was computer generated. Please report any bugs you find.