tkn-tub / ns3-gym

ns3-gym - The Playground for Reinforcement Learning in Networking Research
GNU General Public License v2.0
521 stars 197 forks source link

Validation of results from test_tcp.py in ns3-gym #3

Closed huckiyang closed 5 years ago

huckiyang commented 5 years ago

Dear @pgawlowicz and ns3-gym team,

Just a question and some echos. After successfully running the test_tcp.py, I collected the results from the actions and observation and got the part of the table below to represent TCP-NewReno

stepIdx Act_new_cWnd Act_new_ssThresh Obs_cWnd Obs_ssThresh Info bytesInFlight segmentSize segmentsAcked
1 1 18552368 340 4294967295 CwndEvent 37104736 340 0
2 1 18552368 340 4294967295 CongestionStateSet 37718224 340 0
3 1 18859112 340 4294967295 CwndEvent 37718224 340 0
4 1 18859112 340 4294967295 PktsAcked 37104736 340 1
5 680 18552368 340 4294967295 IncreaseWindow 37104736 340 1

CSV flie Here

Regarding to existing TCP-NewReno in ns-2/ns-3, we shall be able to plot the x = ['simulate time (mms)'], y = ['cwnd'] as below fig in ns-2/ns-3 Fig ns2-RewReno

Since the results we got for the y-axis is the 'stepIdx' instead of the 'time' Fig ns3-gym-RewReno

As the potential Benchmark for adaptive/learning-based network simulator, is it possible to get the time parameters to compare the existing results as NewReno in ns3-gym? Otherwise, it is still a bit hard to validate the future rl-algorithms on the ns3-gym testbed with existing results in ns-2/ns-3.

Again many thanks for your amazing works on this research project, :)

pgawlowicz commented 5 years ago

I have added simulation timestamp [in ms] to the observations. It was easy - see this commit

and plese check result in: tcp_newreno.py

BTW. Are you sure that you use the same (or at least similar) network topology in ns-2?

huckiyang commented 5 years ago

dear @pgawlowicz yes, it works. Thanks! I used a topology referring to Remy