VLBI_UDP: Amalgamation with the Mark5A application
Transcription
VLBI_UDP: Amalgamation with the Mark5A application
VLBI_UDP: Amalgamation with the Mark5A application Simon Casey, Richard Hughes-Jones, Ralph Spencer, Paul Burgess The University of Manchester 6th e-VLBI workshop 17 September 2007 Overview VLBI_UDP application Correlation tests with packet dropped data Code changes to Mark5A application Results VLBI_UDP Flow Diagram Vlbi_control vlbi_send vlbi_recv Control thread Control thread TCP Control Disk Memory Disk Memory Input thread Output thread Ring buffer Drop data Send thread Ring buffer UDP Data Receive thread Dropping strategies Use loss rates: – 1%; 2%; 5%; 7.5%; 10%; 15%; 20% – Run each rate 4 times, dropping in series of long bursts or evenly spaced individual packets, and repeat, filling lost packets with Mark5 fill pattern 0x11223344 Total 28 runs Dropping strategies – headers only Prepare extra file to test SUs... Remove only headers, different loss rate every 2 mins (file ~14 mins long) Results - Fringe amplitudes Single NoFill LL 35 30 % Amplitude decrease e Most runs produced clear linear relationship 25 20 15 10 5 y = 1.53x y = 1.52x SB0 y = 1.58x SB2 y = 1.57x 0 0 5 10 15 SB1 SB3 20 25 20 25 % Packet loss Single Fill LL 50 % Amplitude decrease One run showed points with very inflated amplitudes (20% packet loss rate, single packet losses, using Fill Pattern 0 0 5 10 15 -50 -100 SB0 -150 SB1 SB2 SB3 -200 % Packet loss Results - Fringe amplitudes Source data revealed integrations with high amplitudes consistently had poor correlation weighting Amplitude Run 29 - 20% single fill 0.900 0.800 0.700 0.600 0.500 0.400 0.300 0.200 0.100 0.000 Bsln= Ef-Wb SB= sub1 Pol= LL Bsln= Ef-Jb SB= sub1 Pol= LL Bsln= Wb-Jb SB= sub1 Pol= LL 45:00 44:30 44:00 43:30 43:00 42:30 42:00 41:30 41:00 40:30 40:00 39:30 39:00 38:30 38:00 37:30 37:00 36:30 36:00 35:30 35:00 34:30 34:00 33:30 33:00 32:30 32:00 31:30 31:00 30:30 Time Single Fill LL 30 % Amplitude decrease Modifying plots to use weighted averages brought points back into line 25 y = 1.15x 20 15 SB0 10 SB1 SB2 5 SB3 Avg 0 0 5 10 15 % Packet loss 20 25 Results - Fringe amplitudes Wb-Jb baseline LL&RR poln. combined 35 Single NoFill Bunch NoFill Single Fill Bunch Fill % Amplitude decrease 30 25 y = 1.56x y = 1.58x y = 1.23x y = 1.18x 20 15 10 5 0 0 5 10 15 % Packet loss 20 25 Results – Header dropping Run 57 - Header dropping 1.400 Bsln= Ef-Wb SB= sub0 Pol= LL 1.200 Bsln= Ef-Jb SB= sub0 Pol= LL Bsln= Wb-Jb SB= sub0 Pol= LL Amplitude 1.000 0.800 0.600 0.400 0.200 0.000 45:00 44:30 44:00 43:30 43:00 42:30 42:00 41:30 41:00 40:30 40:00 39:30 39:00 38:30 38:00 37:30 37:00 36:30 36:00 35:30 35:00 34:30 34:00 33:30 33:00 32:30 32:00 31:30 31:00 30:30 Time Modifications to Mark5A software Replace original UDP implementation with code from VLBI_UDP – – – – Add ring buffer Correct for missing & out of order packets Allow packets to be dropped at sender On the fly adjustment of transmit & drop rates Testing with modified Mark5A First tests showed some success – – – – 256Mbit/s achieved green LEDS 512Mbit/s gave green LEDs briefly Missing/reordered packets sometimes caused a crash 1Gbit/s only managed to transmit ~600Mbit/s 1Gbit/s problem – – – – Asus NCCH-DL motherboard has 2x PCI-X slots Slots filled with StreamStor & Intel GigE NIC Each slot capable of 4Gbit/s Southbridge – northbridge uplink @ 2Gbit/s! Testing with modified Mark5A Second tests much better – 256 & 512Mbit/s flawless; Green LEDs & fringes – 1Gbit/s needed constant intervention to attain green LEDs – Problem with 1 link, no fringes possible – 4% packet loss sufficient to squeeze 1Gbit/s VLBI data over GigE – Dropping 4% ring buffer at receiver filled up – Decrease rate to 3% or 2%, receiver buffer emptied while sending buffer filled Fringe plots 256Mbit/s 512Mbit/s 0.96Gbit/s?