Saturday 23 February 2013

Increasing wireless network speed by 1000%, by replacing packets with algebra


A team of researchers from MIT, Caltech, Harvard, and other universities in Europe, have devised a way of boosting the performance of wireless networks by up to 10 times — without increasing transmission power, adding more base stations, or using more wireless spectrum. This is expected to have huge repercussions on the performance of LTE and WiFi networks.
In essence, the innovation — called coded TCP — makes packet loss completely disappear. In wired networks, packet loss is incredibly rare, but in wireless networks it’s one of the biggest issues affecting throughput. According to Technology Review, MIT’s WiFi networks generally lose 2% of packets — while on a fast train, packet loss is nearer 5%.
A single dropped packet causes a spike in latency — the receiver has to communicate to the sender that the packet was missing, and can’t do anything until a replacement packet has been received. If there is significant packet loss, this results in a lot of latency, a lot of re-sent data, and ultimately a low-bandwidth connection. This is why wireless adapters (WiFi, LTE, Bluetooth, etc.) negotiate the max speed of the link, as some environments (fast trains, houses with thick walls) are simply too lossy to sustain high throughput.
A graph that illustrates the effects of packet loss on total throughput of a network link
A graph that illustrates the effects of packet loss on total throughput of a network link
The researchers’ creation, coded TCP, is a novel way of transmitting data so that lost packets don’t result in higher latency or re-sent data. While the exact process is being kept secret (and has already been licensed by “several companies”), we can explain the basic process. On a standard TCP link (i.e. your wired LAN or wireless WiFi network), a constant stream of packets (blocks of roughly 1,500 bytes) is transmitted by your network adapter. Each packet has a header that stores the destination IP address, among other things. When a packet passes through a router, the router inspects the header and forwards it towards the destination IP addresses. At the destination, these packets are reassembled into the original file. If a single packet is lost, the recipient has to wait until it can be re-sent.
With coded TCP, blocks of packets are clumped together and then transformed into algebraic equations that describe the packets. If part of the message is lost, the receiver can solve the equation to derive the missing data. The process of solving the equations is “simple and linear,” meaning it doesn’t require much processing on behalf of the router/smartphone/laptop.
Light spiralsIn testing, the coded TCP resulted in some dramatic improvements. MIT found that campus WiFi (2% packet loss) jumped from 1Mbps to 16Mbps. On a fast-moving train (5% packet loss), the connection speed jumped from 0.5Mbps to 13.5Mbps.
To be honest, these improvements aren’t all that surprising. TCP was designed for wired networks, where lost packets are generally a sign of congestion. Wireless networks are in desperate need for forward error correction (FEC), and that’s exactly what coded TCP provides.
There are caveats to the speed improvement, of course. On a loss-free network, coded TCP won’t do a thing; this innovation isn’t suddenly going to boost the throughput of 802.11n networks from 300Mbps to 3,000Mbps. Loss-free wireless networks are incredibly rare, though — and for cellular networks, where installing more base stations is the very expensive solution to packet loss, coded TCP could be a big boon.
It’s also worth noting that the researchers haven’t tried a large scale deployment of coded TCP. If everyone on a train, in an airport, or on a cell network suddenly sees a huge boost in connection speed, there could be unforeseen collateral damage.
Moving forward, coded TCP is being actively licensed to hardware makers, and presumably we could begin to see it in commercial products in fairly short order.

No comments:

Post a Comment