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?