Long Distance Transport Protocols with High Throughput and Correction Control: eVLBI Transfers over Shared Networks
MetadataShow full item record
Very Long Baseline Interferometry (VLBI) is a technique for gathering data using telescopes located across the globe. These data are sent to a central correlator for correlation, which produces results giving very accurate pictures of the terrestrial and celestial reference frames. One such telescope is located in Ny-Ålesund, Svalbard, and much of the data gathered here is sent to a correlator at the MIT Haystack Observatory, USA. The data can either be shipped, or sent electronically over networks. The latter is called e-VLBI and introduces new demands on the protocol used for transferring data. Today's most widely used transport protocols, namely TCP and UDP, do not fulfill these requirements. Therefore, new protocols are needed. The UDP-based Data Transfer Protocol (UDT) is a fairly new transport protocol, still under development, which is supposed to be very suitable for e-VLBI. The main goal of the work in this thesis has been to find out how to maximize the throughput between Ny-Ålesund and Haystack. In addition, a study of the VLBI technique and electronic transfer of VLBI-data was to be done. This involved studying different transport protocols that could be used for transferring VLBI-data. Also, a testbench simulating the network between Ny-Ålesund and the MIT Haystack Observatory was set up. This testbench was used to measure throughputs with TCP, UDP, and UDT, changing different parameters such as bandwidth, delay and packet loss. Some testing was also done on the real network, but it had to be done with carefulness, in order not to disturb the production systems. The results between the different protocols were then compared. Measurements done on the testbench using TCP, showed that the TCP window size was a very important factor. Setting the delay to 85 ms each way and using a window size of 2 Mbytes, resulted in a maximal throughput of approximately 60 Mbit/sec for bandwidths between 100 Mbit/sec and 1 Gbit/sec. This was achieved introducing a packet loss of 0.0001% or less. Increasing the window size to 4 Mbytes enhanced the throughput to approximately 85 Mbit/sec provided a bandwidth of 100 Mbit/sec, and a throughput of approximately 116 Mbit/sec for bandwidths of 300 Mbit/sec and up to 1 Gbit/sec. For a bandwidth of 100 Mbit/sec, the throughput achieved never got any higher than about 90 Mbit/sec (with a window of 18 Mbytes), and the maximum throughput achieved having a bandwidth of 1 Gbit/sec and a window of 18 Mbytes, was approximately 184 Mbit/sec. On the real network, the maximum average throughput turned out to be about 40 Mbit/sec with a window size of 4 Mbytes. This was achieved using eight TCP streams simultaneously. With UDP, the network emulator used in the testbench behaved very strange, and the results turned out to be quite improbable. There seemed to be a problem with the emulator software used together with UDP. Testing UDP in the real network gave an average throughput of 99.8 Mbit/sec, and the average packet loss was calculated to be 0.68%. To test the network with UDT, built-in protocol functions were first tested directly on the testbench. This gave throughputs of between 1.98 Mbit/sec and 4 Mbit/sec, depending on the packet loss introduced. The window size used did not seem to affect the results; neither did the bandwidth set in the emulator. In the real network, the same tests were done, resulting in a throughput of 55.75 Mbit/sec. Next, a library called the VSI-E Transfer Protocol library (VTP) was modified to include UDT. This modification showed out to be a more comprehensive job than first expected, and even though it eventually worked sending data with UDT, about 10% of the data was lost, and the throughput did not turn out to be particular good. Using the testbench with a delay set to 85 ms, the average throughput was about 5 Mbit/sec when the packet loss introduced was set to values between 0.0001% and 0.1%. For higher loss rates, the data did not get through at all. On the real network, the throughput achieved was 0.94 Mbit/sec with a window size of 2 Mbytes. For window sizes of 4, 6, and 18 Mbytes, the throughput was about 2.4 Mbit/sec. Approximately 8.5% of the data was lost during transmission. Even though the results with UDT turned out not to be as good as expected, this protocol is worth more research and development. In particular, the VTP-library should be further modified, in order to fully support UDT-transfers. The theory that lies behind UDT, together with promising results from previous testing on network performance, has shown that this protocol should be very suitable for transferring VLBI-data. However, this requires more work and study in the future, work that will probably be comprehensive due to the complexity of transport protocols.