Regarding your Pantheon of Congestion Control

137 views
Skip to first unread message

Haocheng Wang

unread,
Aug 10, 2019, 5:08:40 AM8/10/19
to pantheon...@googlegroups.com

Dear Professors,

I am an postgraduate student of Harbin University of Science and Technology in Heilongjiang , China . Recently I read your team's paper about Pantheon and tested the performance of some congestion control schemes locally through the pantheon. I think the experiment results of the experimental platform you designed are very intuitive and obvious , and the test process is really simple and convenient. I think this platform is comfortably conducive to evaluate the performance of various congestion control schemes
However, I have a question about this platform, and I hope to ask you about it. The platform I used to test the network congestion control schemes can design a network topology when building a network environment: for example, a dumbbell network topology with multiple different senders and receivers ( Figure 1) , and tests the performance and effectiveness of different congestion control schemes in the bottleneck link among them.

                                                                        Figure 1

But when I used the Pantheon, I did not find any options and commands to adjust the topology and I did not find a clear topology introduction of Pantheon in the paper. So I would like to consult you some questions: what is the network topology when using the Pantheon to test congestion control schemes, or how to set up the network topology in the Pantheon?

If there is something wrong, please timely point out. I would be very appreciated if you can help me.

 

Thanks and regards.

 

Haocheng Wang(王浩丞)

Department of Computer Science

Harbin University of Science and Technology




 

Francis Y. Yan

unread,
Aug 11, 2019, 2:00:28 PM8/11/19
to Haocheng Wang, Pantheon
Hello Haocheng,

Thanks for reaching out!

This is a good question -- unfortunately, Pantheon does not easily support any network topologies other than dumbbell currently. For emulation experiments, Pantheon relies on Mahimahi to create emulated links; however, Mahimahi is not designed to support other topologies as far as I know. That is, you cannot easily specify a topology with Mahimahi unless you chain together Mahimahi containers in a non-trivial way. For real-world experiments, Pantheon focuses on testing paths between two nodes, reflecting scenarios such as uploading to or downloading from the nearest CDN server on a device. Although it might be interesting to extend the real-world testbed to support other topologies, it would also be hard to justify since Internet has almost an infinite number of topologies and we don't know how to build such a small testbed to report useful results.

Therefore, you are right that Pantheon's topology cannot be easily adjusted. Please feel free to let us know your thoughts!

Best,
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 view this discussion on the web visit https://groups.google.com/d/msgid/pantheon-stanford/4fbadbb2.5b2e.16c7ac97108.Coremail.15764502717%40163.com.

Haocheng Wang

unread,
Aug 12, 2019, 4:50:35 AM8/12/19
to pantheon...@googlegroups.com
Hello, Francis,
Thank you very much for your prompt answers and replies, but I still have some confusion and I would like to ask you.
According to the last email, you said that the default network topology of Pantheon is dumbbell type (forgive me that English is not very good , and some problems may be understood in terms of semantics), then how do I specifically control different senders to run the same or different congestion control schemes during the simulation experiment(Figure 1)? In fact,I want to use this method to evaluate the issue of fairness within the same scheme or between the schemes.
Figure 1

I saw the "flow" command on Pantheon, which allows the sender to be divided into multiple flows for simulation experiments (Figure 2). I think the results of the split experiments can evaluate the fairness of the same scheme, but what should I do to make different flows run different schemes?

Figure 2

 I have just started this research direction for a short time, and I don't understand many issues accurately and deeply. If there is any problem in my understanding, please correct it in time.

Again, thank you so much. I greatly appreciate your reply.

 

Best,

Haocheng Wang




 

Francis Y. Yan

unread,
Aug 13, 2019, 12:33:55 PM8/13/19
to Haocheng Wang, Pantheon
Hi Haocheng,

Running different congestion control schemes through the same bottleneck link has been of interest to us. There used to be some effort on the implementation from the community, but it has yet to be finished. Please find the relevant discussion here.

Best,
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.

Keith Winstein

unread,
Aug 13, 2019, 12:42:08 PM8/13/19
to Francis Y. Yan, Haocheng Wang, Pantheon
Hello Haocheng,

If the topology you're talking about really just has one bottleneck link, then it seems like this is already the topology that the Pantheon "emulation" tests use, and one that is very easy to make in mahimahi (the emulators that Pantheon uses for the "emulation" tests):

- First, four server processes (rc1, rc2, rc3, rc4).

- Then run whatever sequence of mahimahi emulators you like (mm-delay, mm-loss, mm-onoff, mm-link). Each of these will create a container (a network namespace) that is connected to the outer container via an emulated network effect (delay, i.i.d. per-packet loss, intermittent/bursty loss, and a constrained bottleneck with adjustable queue discipline and parameters and a given service schedule in each direction).

- Then, inside the resulting container, run the four clients (sender1, sender2, sender3, sender4).

What more do you need?

If you need a more complicated topology, it can probably also be arranged in mahimahi, but it seems like the one you drew is already the default and easiest one to make.

Best regards,
Keith

Reply all
Reply to author
Forward
0 new messages