Active-based Congestion Control
Overview
Many works have recently addressed the issue of congestion control for multicast communications and the problem is known to be highly complex. Scalability, responsiveness, stability and fairness with TCP are some of the required properties.
A first congestion control algorithm known as TCP Tahoe has been proposed by Jacobson after a series of congestion collapses experienced in 1986. Since then, several variants have been implemented. TCP's congestion control is an efficient mechanism for unicast communications in the Internet. However, when a sender has to send the same information to more than one receiver, unicast becomes inefficient and the use of multicast is more appropriate. In this case, congestion control is much more difficult than unicast because of the presence of multiple receivers with different end-to-end paths that could share some branches in the multicast tree. One of the main problems of a congestion control algorithm is the feedback implosion problem. A main issue is how, where and when such feedbacks have to be suppressed and/or aggregated. In addition to the feedback implosion problem, a multicast congestion algorithm has to avoid multiple reactions to the same congestion reported by multiple indications (RLA, LTRC ). An other key issue when designing a congestion protocol is fairness with TCP. To be TCP-friendly, existing congestion control algorithms either emulates the behavior of TCP by using a similar window-based approach (MTCP, RLA) or by using the TCP formula (TFMCC ).
Recently active networks where routers are able to perform customized services on the packets flowing through them, have been exploited to propose more responsive congestion control algorithms. In multicast, congestion protocols can benefit from special features such as feedback aggregation, hierarchical RTT estimation , cache of data packets or the management of multiple groups in case of layered multicast.
AMCA : Active-based Multicast Congestion Avoidance Algorithm
AMCA is a congestion avoidance algorithm which has been disigned to be integrated into the DyRAM framework. However AMCA can be applied to any other active reliable multicast protocol. AMCA uses the RTT variations experienced by every branch to estimate the congestion situation in the multicast tree. The physical multicast tree is also used to aggregate appropriately the RTT variations at intermediate nodes before they reach the source. Simulations show that AMCA converges, makes use of the available bandwidth and reacts rapidly to dynamic changes while being TCP-fair.
AMCA is a congestion avoidance mechanism rather than a control mechanism because the sender reacts before a loss occurs. AMCA uses the RTT variation as an estimation of the number of queued packets as a congestion measure in a similar way TCP Vegas does. However it appears that TCP Vegas suffers from path changes which could give erroneous estimation of the RTTs. To avoid the problem of rerouting paths, we adopt a hop-by-hop RTT estimation and bandwidth probing. using the active networking technology for practical implementation, a per-section dialogue is performed between adjacent nodes including the routers. In this context we consider as a section in a multicast tree, the set of point-to-point links and traditional routers that connect two active routers or an active router to a terminal node (a receiver or the source). In AMCA, a RTT variation is measured for every section. The different RTT variations are aggregated appropriately so the source ends up by receiving the overall RTT variation experienced by the worst end-to-end path of the multicast tree.Like RMANP and NCA , we benefit from the physical multicast tree to perform congestion feedback aggregation and thus overcome the complexity inherent to building and maintaining a logical tree structure (TRAM ,MTCP ). The main difference between AMCA (rate-based) and NCA (which is window-based) resides in the usage of different congestion measures. Whereas AMCA uses mainly the RTT variation, NCA uses both the loss rate (p) and the RTT to determine the worst receiver (by computing the quantity RTT * sqrt(p)). However the loss rate is very difficult to be estimated on a short period while a sufficiently long period would make the congestion control unresponsive. In our case, the RTT variation measure in AMCA is able to predict congestion situations even in the absence of losses. Unlike RMANP, AMCA don't perform any cache of data packets in the active routers. We believe that an active router has to support multiple multicast sessions and caching means are not always available.
Documents
- M. Maimour and C. Pham. AMCA : an Active-based Multicast Congestion Avoidance Algorithm. INRIA technical report RR-4689, January 2003. Also available as a LIP/ENS research report under 2003-07.
- M. Maimour and C. Pham., "A New Active-based Multicast Congestion Avoidance Algorithm," to appear in Proceedings of the Canadian Conference on Electrical and Computer Engineering (CCECE'03), May 4-7, 2003, Montreal, Canada. pdf
- M. Maimour and C. Pham, "AMCA, an Active-based Multicast Congestion Avoidance Algorithm," to appear in Proceedings of the 8th IEEE Symposium on Computers and Communications (ISCC 2003), June 30 - July 3, 2003, Kemer-Antalya, Turkey. .pdf
Overview AMCA Documents Related projects
Related projects
- Arturo Azcorra, María Calderón, Marifeli Sedano and José I. Moreno, "Multicast Congestion Control for Active Network Services", European Transactions in Telecommunications, vol. 10, nb. 3, Mai-June1999.
- S. Kasera and S. Bhattacharya, "Scalabe Fair Reliable Multicast Using Active Services", IEEE Network Magazine's Special Issue on Multicast, 2000.
- Lidia Yamamoto and Guy Leduc, "An Active Layered Multicast Adaptation Protocol", IWAN 2002, pp. 179-194.
- S. Jamaloddin Golestani and Krishan K. Sabnani, "Fundamental Observations on Multicast Congestion Control in the Internet", INFOCOM 1999, pp. 990-1000.
- Jörg Widmer and Mark Handley, "Extending Equation-based Congestion Control to Multicast Applications", ACM SIGCOMM 2001.
- Injong Rhee, Nallathambi Ballaguru and George N. Rouskas, "MTCP : Scalable TCP-like Congestion Control for Reliable Multicast", TR-98-01, 1998.