Reprodicing the Hybrid model for TCP with AQM

The main references for this are R.Castro work:

Algunas ideas/preguntas

Sería factible que el modelo continuo tome datos (el estado de las variables) del modelo discreto. Por ejemplo, la ecuacion 18.13 estima el tamaño de la cola del router. Puede salir esta informacion del modelo discreto. Idem para la probabilidad de descarte. Incluso el RTT (que en la ecuacion sale del tamaño de la cola). O sea, solo estimar el W.
Si es que es factible, eso puede ayudar a sacar la parte de AQM. No todas las redes usan AQM, pero estas ecuaciones asume que se usa AQM para calcular la probabilidad de descarte. Si la probabilidad de descarte sale del modelo discreto, la ecuacion se puede utilizar para cualquier red que descarte paquetes.

Reproducing Original Model

Commit: 0b51532fc7e

/examples/Matias/hybridTCP_AQM_castro/HybridFlow_vReport.pdm

Inline image 1

Reproduce Figure 7.16

Note that here we are only running the hybrid model (green line in figure 7.16, Blue line in the plot below). The continous model should be similar, but it is competing with an extra flow (the discrete flow). The discrete only model was not executed here.

Selection_829.png

W se ve asi (igual que el paper)

Inline image 1

Y la simulacion híbrida completa (las colas):

Inline image 2

Fixes to the original model

- Inports of the DQSS were swapped

- parameters corrected according to the thesis

Tests with the hybrid model

Setting Ncont=1 (Ndis=1 always)

Queue lenght (live and sampled weightedAVG)

TCP window size for discrete and fluid flows

Sweep from Ncont=1 to Ncont=10

TCP Window size from the discrete flow (in blue), and all the Ncont fluid flows (in red). The fluid flows are identical, so the window is representative for all.

It can be seen that the more flows are running in the network, the less bandwidth is asiggned to each.

The discrete and fluid W are qualitatively similar: the amplitud in which the W oscilates is similar. The frecuency is more or less similar.

From N=8 onwards the continuos W finds a stabilization point and stops oscilating (which would be the extected behavior in any TCP window). The point were it stabilizes is more or less the same of the avg of the discrete window. Also it can be seen that the discrete W oscilates with a low amplitud and higher frecuency.

Sweeping tau (dynamic and static)

With DelayQSS the RTT is used as delay, which is dynamic (RTT(t)). Here we see the effect of using DelayQSS in oposition to a static delay (or no delay when tau=0). We do the experiments for 1 continuos flow and 10 continuos flows.

For the static values of tau we changed the continuos model to take a constant value on the delay (instead of the dynamic RTT) as shown below:

N=1

We see the expected behavior of the delay: the higher the value for tau, the function is moved more to the right.
It is interesting how the delay affects the amplitud of W: the higher the delay, the bigger the amplitud.
It can be seen that using a dynamic tau is different from all static taus and resembles more to when tau is fixed to tau=0.05 (which not surprisingly matches the meanRTT for the run with dynamic tau meanRTT=0.0456323).

Taus_N1.png

same including the discrete window

N=10

Something similar happens when using 10 flows: the higher the tau, the higher the amplitud.
But for tau<=0.05 the function stabilizes. For the dynamic tau, which resembles the static tau=0.05 (because the meanRTT=0.0631575) it also stabilizes.

same including the discrete window

N=6

Including the discrete window

Tests with the pure discrete model

Using the pure discrete model with 6 flows:

6 flow incremental arrival test

Tests with 6 TCP flows each starting 5s after the previous one.

Simulation shows simular results than the reported in the paper.
There is a different in the behavior of the first flow around 19s: it shows a flat slope during ~10s which was not reported in the paper. Servaral simulations were run and show the same thing. Also seen when running the 6 flow simultaneously (a flat slope of ~9s in several flows).

This strange behaviour is probably rue to a Forced RTO in all TCP models set to 10. In the Hybrid model this parameter is set to 2s.

Setting RTO=-1, so as to calculate RTO dynamically

Still strange behaviour

Setting RTO=0.2

This is more simular to what was reported in the paper

6 simultaneos flows test

This tests is the discrete equivalent to the test in the hybrid scenario with Ncont=5 and Ndist=1

It shows the streange flat 9s slope, due to the RTO forced to 10s, in this case seen in several of the flows.