nyuwireless-unipd / ns3-mmwave

ns-3 module for simulating mmWave-based cellular systems. See https://ieeexplore.ieee.org/document/8344116/ (open access) as a reference.
GNU General Public License v2.0
297 stars 193 forks source link

Question about RTT using tcp-building-example #222

Open erazemp opened 3 years ago

erazemp commented 3 years ago

Hi. I was running some simulations using the tcp-building-example. I was interested in the throughput, SINR and RTT. I was already told that the simulation at the beginning needs a bit of time to start working as intended. This means that the applications start generating traffic before the connection procedure is completed and fill up the buffers. The throughput remains "higher" until the buffers are emptied.

This makes sense but I am wondering is this the same reason that the RTT graph for the same period of time shows lower RTT values and after 0.5s mark starts shooting up and stabilizes? Because it differs in two simulations:

1.) LEFT: There were 2 ue devices connected to the same enb and the observed device is 30m the other is 800m from the base station: 2.) RIGHT: 2 ues both 30m from the same base station:

Throughputs:

I figured as much as that the more ues I connect to the same enb the higher are the RTTs, and distance also has a significant role. The part I am most interested in is the first 0.5s of the RIGHT simulation where the RTTs are the same as the LEFT simulation and why does it then proceed to shoot up.

Also isn't 20 to 40ms a lot for a device that is 30m from the base station? Does it have anything to do with the remote host? The RTT file is structured like this where first instance is time but I'm not sure why there are two instances of rtt.

0.122913 | 0 | 0.022 0.145908 | 0.022 | 0.022125 0.169008 | 0.022125 | 0.0223594 0.192108 | 0.0223594 | 0.0224395 0.215108 | 0.0224395 | 0.0253845 0.215213 | 0.0253845 | 0.0250865 0.238208 | 0.0250865 | 0.0248256 ...

Thank you!

GitLingling commented 3 years ago

For the RTT file, the 3 columns are: Time, rtt_old, rtt_new. RTT is a tracesource, you can search for "tracesource" to learn more about the details.

Hope this helps.

erazemp commented 3 years ago

So I ran the same simulation as the where I have 2 devices connected to 1 enb but I set the max throughput to 1300 Mb/s. Before we could see it passed the 1300 Mb/s a couple of times. Now that I set the max, the RTT acts normally and drops down after the initial start. But as soon as the throughput exceeds the 1300 Mb/s the RTT stay at max like in the previous example.

Thank you.