MIT Streamlines Wireless Networks With Congestion Control System
When it comes to wireless networks, lagging while video streaming, video chatting, mobile gaming, and other web services is a common problem faced by many. In a bid to reduce the lagging problem, researchers from the Massachusetts Institute of Technology (MIT) have designed a congestion-control scheme. The scheme enables web services to run seamlessly by inferring information about a network’s bandwidth connectivity and congestion as per the received feedback from the network routers, which are encoded in data packets. The information gives a clear picture of the speed at which data packets are relayed over a network. The team consists of Mohammad Alizadeh, an associate professor in MIT’s Department of Electrical Engineering (EECS) and CSAIL, along with Hari Balakrishnan, Fujitsu Professor in EECS. The team also consists of Anup Agarwal – a graduate student at Carnegie Mellon University and Ravi Netravali – assistant professor of computer science at the University of California in Los Angeles. Creating a balance in the sending rate can be a tough task. For example, if a network regularly carries a capacity between two megabytes per second to 500 kilobytes per second, the sender could send traffic at a lower rate. Still, this action would result in, say, low video quality. On the other hand, if a sender continuously sends or maintains a high-speed data exchange even when there is a dip in the network, a considerable number of data packets would be on hold, which can further create a delay in the network. Wireless networks are more complicated with varying links, which can lead to an unpredictable capacity shift. Several other factors, such as the number of network users, cell tower locations, and surrounding buildings, can affect the capacity of the network. The researchers presented “Accel-Brake Control” (ABC) at the USENIX Symposium on Networked Systems Design and Implementation. ABC can be used to increase the throughput with an increase of 50%, and reduce the network delays by half, depending on the varying links. The scheme uses an algorithm which allows the routers to communicate and understand the number of data packets that can be relayed on a network without creating congestion. The scheme provides detailed information, such as packets present between a cell tower and sender, by remodelling the single bit already present on the internet packets. Achieving Explicit Control Conventional congestion-control schemes highly depend on the packet losses or information from a single congestion bit present in the internet packet to infer congestion and slow down. Since a router can be marked as a base station, it will send an alert to the sender about congestion present on the network. For example, if a sender is streaming a video, the alert will inform the sender about the sent data packets which are not being relayed and are creating congestion. The researchers, in a bid to bring transparency about the problems present on the network path, have suggested an “explicit” scheme, which includes multiple bits in packets specifying current rates. However, the process cannot be deployed since it changes the entire way of how data is sent over the internet. With the help of ABC, the team is still using a single bit in each data packet, but in a way that the bits scattered across multiple data packets can generate the real-time rate information to the senders. The scheme has been designed to track each data packet as it travels from the sender to receiver via the base. Each bit in the packet is marked by the base as “accelerate” or “brake”, depending on the network bandwidth. Once a packet is received, the bit alerts a sender to increase or decrease the “in-flight” packets which are sent, but not delivered or received in the network. In case an acceleration command is received, it implies that the packets were delivered at a faster rate and the network can carry more than one packet at a time. When a brake command is received, the sender is alerted to decrease the in-flight packet to just one to avoid any congestion. ABC The core of ABC is created with an algorithm that is designed to calculate the aggregate rate of the sender’s one-round trip ahead to understand the acceleration and brake feedback. The ABC-equipped base station is capable of understanding the behavior of the sender by analyzing the marked packet sent to a receiver. Whenever the base dispatches a packet, it quickly notes down the number of packets it will receive from the sender in a single trip. Using this piece of information, the base marks other packets more accurately to match the sender’s rate in the current network capacity. In a simulated environment of a cellular network against conventional congestion control schemes, ABC achieved 40% throughput for the same delays that were observed in the conventional scheme. The congestion scheme by the team can further reduce the delays by 200% to 400% after maintaining the same throughput, which is done by the conventional scheme. The team is looking forward to working with applications and web services so that ABC can be used to control the quality of content in a better way. For example, ABC’s information about congestion can be put together to deliver the resolution of smartly streaming videos by the video content provider. “If it doesn’t have enough capacity, the video server could lower the resolution temporarily, so the video will continue playing at the highest possible quality without freezing,” concludes Alizadeh.
When it comes to wireless networks, lagging while video streaming, video chatting, mobile gaming, and other web services is a common problem faced by many. In a bid to reduce the lagging problem, researchers from the Massachusetts Institute of Technology (MIT) have designed a congestion-control scheme. The scheme enables web services to run seamlessly by […]
In a bid to reduce the lagging problem in wireless networks, researchers from MIT have designed a congestion control scheme.
["MIT"]
["Go", "programming_languages:R", "AI", "MIT", "ML", "programming_languages:Go", "ViT", "R"]
["AI", "ML", "R", "Go", "ViT", "programming_languages:R", "programming_languages:Go"]