What if you could transmit data without link layer flow control bogging down throughput with retransmission requests, and also optimize the size of the transmission for network efficiency and application latency constraints? Researchers from MIT, Caltech and the University of Aalborg claimed to have accomplished this with stateless transmission using Random Linear Network Coding, or RLNC. The universities have collaborated to commercialize this promising technology through joint venture called Code On Technologies.
Last week, according to data released by Code On, RLNC performed 13% to 465% faster than the industry standard Reed-Solomon encoding in Storage Area Network (SAN) erasure application testing. The Kodo library, using RLNC to encode and decode data on a SAN for error correction and fault tolerance, was compared to Intel’s Reed-Solomon library implementation, called ISA-L, and an open source library implementation called Jerasure. The Kodo/RLNC implementation ran consistently faster on identical SAN hardware.
Other testing by Code On shows that RLNC applied to other types of data transmission such as Wi-Fi and LTE can improve performance. Earlier this month, Code On released to industry analysts test data showing improved performance of mobile video over Wi-Fi. The effect of a 3% error rate when streaming a four-minute video over native Wi-Fi was compared to an identical transmission of video packets encoded and decoded using RLNC. The RLNC-encoded transmission improved video quality because packet loss in the RLNC case did not require the retransmission of lost packets. The RLNC-encoded video was downloaded five times faster than the native video stream time, and the RLNC-encoded video streamed fast enough to be rendered without interruption. By comparison, the native video took five minutes to download and had 13 spinning wheel interruptions.
Code On has an elegant approach to stateless transmission, avoiding altogether the network congestion from error correction and retransmission that degrades network performance. Comparatively, flow control error correction leads to network congestion because TCP-IP native error correction is limited, resulting in retransmission of lost packets.
An RLNC transmission can recover from errors with neither sender nor receiver retaining and updating transmission-state information and requesting lost packets to be retransmitted. This is because RLNC can recreate any packet lost on the receiving side from a later sequenced packet. In over-simplified terms, each RLNC encoded packet sent is encoded using the immediately earlier sequenced packet and randomly generated coefficients, using a linear algebra function. The combined packet length is no longer than either of the two packets from which it is composed. When a packet is lost, the missing packet can be mathematically derived from a later-sequenced packet that includes earlier-sequenced packets and the coefficients used to encode the packet.
Since the RLNC encoding sender doesn’t need to listen for acknowledgements of successful transmission and perhaps retransmit, the sender can continuously transmit at near-wire speed optimized for latency and network throughput. More importantly, RLNC encoding can ride on top of the TCP-IP protocol, so implementation does not require the replacement of communications equipment. But it does require software incorporating RLNC-licensed technology to execute on both ends.
There are other interesting use cases for RLNC. It can be used to encode 4G LTE and Wi-Fi data streams in channel bonding applications, utilizing both channels simultaneously to maximize throughput to a handset or minimize the use of the more expensive LTE connection unless quality will degrade. RLNC can extend the quality of mobile data transmission at the edge of 4G LTE cells to reduce base station deployment without degrading the user experience or overloading the network with error correction congestion.
The trends to higher-performance multicore processors and parallel operations everywhere in the network and on mobile devices lends itself to an encoding scheme utilizing linear algebra and matrix equations that might not have been possible in the past.
RLNC is fascinating because early implementations and tests show it could deliver dramatic potential gains in many use cases that are emerging with the explosion of mobile, video, and the increasing complexity and scale of the internet. It’s unlikely that the approach to encoding and decoding on the internet will change en mass overnight, but targeted use cases that promise significant improvements, such as video transmission or the reliability of mobile data transmission on the edge of 4G LTE cells, will happen first.