Department of Computer Science

PURDUE UNIVERSITY

Spring 2001 Tektronix Undergraduate Research Award


Project: "Experiments with multicast congestion control using "dummynet""
Student: Chin-ying Wang
Advisor: Sonia Fahmy

This project is supported by Tektronix from March 2001 to August 2001. It is also presented in the Undergraduate Research Day sponsored by the School of Science at Purdue University on April 7, 2001.


TECHNICAL REPORT

Project Proposal:
  This proposal examines multicast congestion control in the Internet. Multicast (group) communication is the efficient exchange of information among multiple senders and multiple receivers, by only replicating information when necessary. Examples of applications requiring multicast support include audio and video conferencing applications, video on demand, distance learning, tele-metering, distributed games, server and replicated database synchronization, advertising, and data distribution applications [1].

Multicast congestion control protocols have gained a lot of attention in the last two years. With the steady increase of multicast traffic on the Internet, it has become necessary to develop sophisticated congestion control techniques for multicast traffic, similar to the manner in which TCP (transmission control protocol) works for unicast point-to-point traffic. Simply extending TCP congestion control techniques to multicast does not scale since the number of receivers (listeners) in a multicast session can be very large.

One proposal that achieves scalable multicast congestion control is the pgmcc (pragmatic general multicast congestion control) algorithm [2]. "pgmcc" identifies an "acker" among the set of receivers in a multicast group. The acker is the receiver with the lowest throughput. The sender uses the data rate that corresponds to the path from the sender to the acker to transmit data to all the receivers. The acker changes if a receiver with lower throughput than the current acker is identified. pmgcc measures the round trip time and loss characteristics of the path from the sender to every receiver in order to determine if a new acker should be elected.

This project aims at investigating this newly developed pgmcc algorithm in more realistic scenarios than those currently published. In particular, we suspect that the algorithm may suffer from a number of drawbacks, and we plan to modify the algorithm to overcome these problems. The effect of feedback aggregation, forward error correction, and unreliable transport are the three potential problems. In addition, we plan to carefully investigate the parameter values of the algorithm.

In order to experiment with pgmcc, we propose to use an emulated network. Emulation is superior to simulation because it allows testing the real protocol implementation with real network traffic. On the other hand, emulated environments are easier to control than real Internet experiments, where cross traffic on the network varies and is difficult to predict, and protocol errors may be detrimental to other Internet users.

We plan to set up an emulated virtual network using dummynet [3]. Dummynet enables us to configure queue sizes, link transmission delays, bandwidth, and random packet loss of the simulated network. We will port pgmcc onto this testbed and run the experiments. Our experiments will be specifically designed to show realistic scenarios and especially problematic (worst case) scenarios that have not been tested in the literature. Based on the results of these experiments, we will make the appropriate modifications to the source code pgmcc, and give some recommendations on the ranges and recommended values for pgmcc parameters.

We will take the following steps to achieve our goal. First, we will study the manuals for installing and using dummynet and pgmcc, and port them to our network environment. The, we will examine the source code of pgmcc to learn how to modify it. Meanwhile, we will design new experiments to test pgmcc under realistic and stressful conditions. We will configure the testbed for each of these experiments and vary pgmcc parameter values. The source code of pgmcc and dummynet may also be modified during this process to solve some of the expected problems. Finally, we will collect data and summarize our findings in a technical report and presentation.
 

References:

(1)K.Miller, "Multicast Networking and Applications," Addision Wesley Longman, Inc., 1999.
(2)L.Rizzo, "pgmcc: A TCP-friendly single-rate multicast congestion control scheme," Proceedings of the ACM SIGCOMM, September 2000.
(3)L.Rizzo, "Dummynet: a simple approach to the evaluation of network protocols," ACM Computer Communication Review, v. 27, n. 1, January 1997.