How Tachyon improves data transfer
Tachyon increases speed by improving bandwidth utilization. This is done in two main ways:
1) Transport level protocol optimization. Tachyon builds on top of UDT, a protocol that significantly outperforms TCP on a variety of network topologies.
2) An edge network of servers that provide clients closer points of presence. These servers allow Tachyon to logically reduce the distance of the first network hop.
To understand this better let's go over some key concepts:
- Bandwidth is the maximum rate of data transfer across a given path. When using the term bandwidth here we are referring to network bandwidth (or network throughput), which is is the rate of successful message delivery over a communication channel. This is measured in bit/s. It's important to keep in mind, a channel with x bps may not necessarily transmit data at x rate, since protocols, encryption, and other factors can add appreciable overhead.
- Latency measures the time it takes for some data to get to its destination across a network. Usually when people talk about network latency they are referring to Round Trip Time (RTT). Latency is impacted by a number of factors including: distance from source to destination, the transmission mediums used such as WAN or fiber optic cables, and the routers used.
- RTT or RTD or Ping Time is the time taken for information to get to its destination and back again. This is an important measure because most data transfer across the internet relies on TCP/IP, and in TCP/IP a network sends a limited amount of data to its destination and then waits for an acknowledgement to come back before sending any more. A high RTT has a direct negative impact on the performance of data transfer, as a network will wait a longer time to send packets of information.
- Packet Loss: While packets are sent across a network, they can be lost or dropped for a variety of reasons. When this happens the packet needs to be resent, and thus high packet loss can lead to slow file transfer. Packet loss is caused by factors include: faulty routers, lousy Wi-Fi signal, bandwidth restrictions, and network congestion. TCP performs very poorly in networks with high packet loss.
- TCP and its constraints: TCP is the primary transport protocol used to power data transfer across the internet. It is a connection-oriented protocol that offers a number of guarantees including: data arriving in-order, lost or discarded packets are resent, and traffic congestion control.
To maintain these guarantees TCP was designed in a specific way which is not well suited for moving large datasets. Specifically TCP suffers from problems attributable to its congestion control and flow control design decisions. A lot of these decisions were made in the the 70's/80's when wireless didn't really exist and high bandwidth connections weren't readily available. Tachyon takes a different approach that is optimized for fast large file transfer.
- Tachyon, UDT and UDP: Tachyon's protocol optimization is built on top of UDT, which is a reliable UDP based application level data transport protocol (that was a mouthful!). UDT uses UDP to transfer bulk data with its own reliability control and congestion control mechanisms. The new protocol can transfer data at a much higher speed than TCP does.