Question about testing different cc schemes at the same time

138 views
Skip to first unread message

stephe...@gmail.com

unread,
Apr 8, 2019, 11:21:02 AM4/8/19
to Pantheon
Hi,

Does Pantheon provide the test methods that several flows are run at the same time with each flow controlled by a different congestion control scheme? 
Or I need to implement this kind of scenario manually via modifying the pantheon source code?
Thanks for your time.

Best Regards,
Stephen

Francis Y. Yan

unread,
Apr 8, 2019, 4:17:22 PM4/8/19
to stephe...@gmail.com, Pantheon
Hi Stephen,

There has been some effort kindly made by an individual contributor of Pantheon to support that, by adding a CONFIG argument of test.py. However, it is currently unfinished, and we cannot guarantee if it will be ever finished or finished correctly.

If you would like to add the feature to Pantheon, we will be happy to provide help whenever you have questions. We will also appreciate it very much if you could kindly send us a pull request if you finish the implementation and test it thoroughly! We believe that the feature will be helpful to many other researchers.

Thanks,
Francis

--
You received this message because you are subscribed to the Google Groups "Pantheon" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pantheon-stanf...@googlegroups.com.
To post to this group, send email to pantheon...@googlegroups.com.
Visit this group at https://groups.google.com/group/pantheon-stanford.
To view this discussion on the web visit https://groups.google.com/d/msgid/pantheon-stanford/ab966399-44d9-414e-a7fa-8605d421b482%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Francis Y. Yan

unread,
Apr 9, 2019, 10:45:01 PM4/9/19
to Xudong Liao, Pantheon
It is exactly the "-c CONFIG" argument of test.py on the master branch.

Francis

On Tue, Apr 9, 2019 at 7:41 PM Xudong Liao <stephe...@gmail.com> wrote:
Hi Francis,

Could the unfinished version of the implementation you mentioned be accessible for reference? 

Best,
Stephen

Francis Y. Yan <f...@cs.stanford.edu> 于2019年4月9日周二 上午4:17写道:

Francis Y. Yan

unread,
Apr 9, 2019, 11:32:45 PM4/9/19
to Xudong Liao, Pantheon
Unfortunately, yes, it can't possibly meet your needs since it is unfinished :(

The intended implementation is to allow more fine-grained specifications in the CONFIG file than using command line, such as testing multiple congestion control algorithms and specifying when each flow starts and ends. Would you mind tracing the variable "test_config" in test.py first and checking out the existing incomplete implementation? In "pantheon/tests/local_test.py", the function "get_sample_config" tests its functionality and also provides sample config files. I am not sure whether the test is still passed though since no one has been using the CONFIG argument.

Thanks,
Francis

On Tue, Apr 9, 2019 at 8:20 PM Xudong Liao <stephe...@gmail.com> wrote:
Hi Francis,

Sorry, I can't make clear that the CONFIG file specified by the "-c" argument has something to do with the settings of scenarios with multiple CC run simultaneously. Personally, I think the configuration file is used to specify the configures in a file rather than in the command line. Does this "-c CONFIG" argument has additional functions? I don't know clearly how to use the configuration file to meet my current needs.

Best,
Stephen

Francis Y. Yan <f...@cs.stanford.edu> 于2019年4月10日周三 上午10:45写道:

xxlio...@gmail.com

unread,
Apr 15, 2019, 10:56:51 AM4/15/19
to Pantheon
Hi

Incidentally I am currently working on this exact issue for my bachelorthesis.
From the way the code is right now it almost appears easier to keep it as-is and run multiple instances through the same mahimahi instance.

I will have to look into the implementation of the pantheon tunnel, as currently I don't exactly see what tun_id's are needed for, and getting these right will be the main implementation issue of doing it this way.

Thanks,
Joel

xxlio...@gmail.com

unread,
Apr 15, 2019, 1:20:39 PM4/15/19
to Pantheon
Hi Francis and Stephen

After fixing a small off-by-one error it appears the existing implementation of test_config does indeed work!
I changed line 512 in test.py from                
flow = self.flow_objs[i] 
to
flow = self.flow_objs[i+1].

I am unable to tell how reliable the existing implementation is, but I did a quick test where I ran cubic against bbr locally, and that appears to have worked out fine.
I am somewhat sceptical this will work in a remote setting as-is, but for some local testing it appears fine on first glance.
The analysis scripts need some modification to cope with the multiple schemes and so on, but that is all doable (I am working on it right now).

Francis, would it be possible to get the email of whoever did the existing implementation of test_config to ask a few questions on what works how well with it (since I could not find any documentation anywhere).

Thanks a lot
Joel

To unsubscribe from this group and stop receiving emails from it, send an email to pantheon...@googlegroups.com.

Ranysha Ware

unread,
Apr 15, 2019, 1:59:25 PM4/15/19
to pantheon...@googlegroups.com
The changes made to support running multiple flows with different CCs are documented in this pull request here:


From what I recall only the analysis scripts needed to be fixed.

- Ray

To unsubscribe from this group and stop receiving emails from it, send an email to pantheon-stanf...@googlegroups.com.

To post to this group, send email to pantheon...@googlegroups.com.
Visit this group at https://groups.google.com/group/pantheon-stanford.

Francis Yan

unread,
Apr 15, 2019, 2:13:08 PM4/15/19
to Pantheon
Thanks, Ray!

@Joel: it was exactly Ray who kindly implemented this feature for Pantheon. Sorry that I personally didn't have a chance to play with the feature, but it appears that only the analysis scripts need to be adapted to analyze this scenario.

Best,
Francis
To unsubscribe from this group and stop receiving emails from it, send an email to pantheon-stanford+unsubscribe@googlegroups.com.
To post to this group, send email to pantheon-stanford@googlegroups.com.

xxlio...@gmail.com

unread,
Apr 15, 2019, 3:07:43 PM4/15/19
to Pantheon
Hey

Thanks a lot for the reply! Having a working implementation of it is great!
I think however that the previously mentioned off-by-one fix is still required. At least in my setup it was not working without it and is not working flawlessly with it.

Thanks
Joel

Am Montag, 8. April 2019 17:21:02 UTC+2 schrieb stephe...@gmail.com:

xxlio...@gmail.com

unread,
Apr 16, 2019, 11:07:28 AM4/16/19
to Pantheon
Sorry, previous sense should have read " At least in my setup it was not working without it and is now working flawlessly with it."
Reply all
Reply to author
Forward
0 new messages