Presentation is loading. Please wait.

Presentation is loading. Please wait.

VLBI_UDP An application for transferring VLBI data via UDP protocol Simon Casey e-VLBI meeting, Haystack 20 Sep 2006.

Similar presentations


Presentation on theme: "VLBI_UDP An application for transferring VLBI data via UDP protocol Simon Casey e-VLBI meeting, Haystack 20 Sep 2006."— Presentation transcript:

1 VLBI_UDP An application for transferring VLBI data via UDP protocol Simon Casey e-VLBI meeting, Haystack 20 Sep 2006

2 Overview Originally developed by Richard Hughes-Jones Originally developed by Richard Hughes-Jones Sent multiple, continuous memory-memory UDP streams Sent multiple, continuous memory-memory UDP streams Multi-threaded, contained ring buffer Multi-threaded, contained ring buffer Web interface to manage streams & graph throughput Web interface to manage streams & graph throughput Modified to allow disk-disk transfers Modified to allow disk-disk transfers Currently implementing selective packet dropping Currently implementing selective packet dropping

3 Ring buffer Input thread Ring buffer Send thread Disk Memory Receive thread Output thread Disk Memory UDP Data TCP Control Control thread Vlbi_control vlbi_send vlbi_recv vlbi_udp Flow Diagram

4 Geant2 Launch event, June 2005

5 Stability Instability in sending rate when not saturating link Instability in sending rate when not saturating link ~20Mbit/s variation ~20Mbit/s variation Change thread implementation to use sched_yield() Change thread implementation to use sched_yield() Stable to within 1Mbit/s Stable to within 1Mbit/s

6 Packet loss & correlation Packets are lost - networks (congestion) and/or end-hosts (lack of processing power) Packets are lost - networks (congestion) and/or end-hosts (lack of processing power) Lost packets will have some effect on final correlation Lost packets will have some effect on final correlation Want to measure this effect Want to measure this effect

7 Goals Determine optimal way to lose packets whilst having least effect on correlation Determine optimal way to lose packets whilst having least effect on correlation Find reasonable loss rate which can be sustained by station units Find reasonable loss rate which can be sustained by station units Implement findings into VLBI_UDP Implement findings into VLBI_UDP Can be used to selectively drop packets if congestion present yet keep correlation running Can be used to selectively drop packets if congestion present yet keep correlation running

8 Correlation tests at JIVE Run disk2file to create standard linux file Run disk2file to create standard linux file Use VLBI_UDP in disk-disk mode Use VLBI_UDP in disk-disk mode Add extra mode to write to local file instead of sending to network Add extra mode to write to local file instead of sending to network Filter each packet through a dropping function Filter each packet through a dropping function Algorithm can be selected by user and parameters varied Algorithm can be selected by user and parameters varied Place modified data file(s) back on to disk pack Place modified data file(s) back on to disk pack Play back into correlator Play back into correlator

9 Packet dropping function Pass pointer to valid packet as parameter Pass pointer to valid packet as parameter Function decides if packet will be dropped Function decides if packet will be dropped Returns either original pointer or pointer to some dummy data Returns either original pointer or pointer to some dummy data What dropping algorithms are used? What dropping algorithms are used?

10 Keeping in sync Station units look for valid headers Station units look for valid headers No header? Work out where next header should be and keep looking No header? Work out where next header should be and keep looking How many missing headers before sync is lost? How many missing headers before sync is lost? Lose only VLBI data, keep headers Lose only VLBI data, keep headers SUs will be happy – only care about headers SUs will be happy – only care about headers Actual correlation will suffer Actual correlation will suffer

11 Keeping in sync Assume losing every other header acceptable Assume losing every other header acceptable At 256Mbit/s, headers occur every 80 000 bytes At 256Mbit/s, headers occur every 80 000 bytes 32 * 2500 byte tracks = 1 'frame' 32 * 2500 byte tracks = 1 'frame' 79360 bytes data sandwiched between 384 bytes header and 256 byte footer 79360 bytes data sandwiched between 384 bytes header and 256 byte footer ~54 UDP packets/'frame' ~54 UDP packets/'frame' Lose ≤ 1 packet in 56 (1.79%) – will never lose 2 consecutive headers Lose ≤ 1 packet in 56 (1.79%) – will never lose 2 consecutive headers N.B. assumes losses don't occur randomly! N.B. assumes losses don't occur randomly!

12 Dropping strategies Leave first 2 mins of each run intact Leave first 2 mins of each run intact Use loss rates: Use loss rates: 0.5%; 1%; 1.5%; 1.75%; 2%; 2.25% 0.5%; 1%; 1.5%; 1.75%; 2%; 2.25% Run each rate twice, dropping in series of long bursts or evenly spaced individual packets Run each rate twice, dropping in series of long bursts or evenly spaced individual packets Expect rates 2%, 2.25% sync may be lost, below 2% should stay in sync Expect rates 2%, 2.25% sync may be lost, below 2% should stay in sync Total 12 runs Total 12 runs

13 Dropping strategies Prepare 13 th file to test SUs... Prepare 13 th file to test SUs... Remove only headers, different loss rate every 2 mins (file 14 mins long) Remove only headers, different loss rate every 2 mins (file 14 mins long)

14 Preliminary Results Packet losses produced clear effect Packet losses produced clear effect Average amplitude differences for each loss rate Average amplitude differences for each loss rate Linear relationship Linear relationship % Amp decrease = 1.8x % loss rate % Amp decrease = 1.8x % loss rate Header dropping partially successful Header dropping partially successful Dropping every other header, SU LEDs orange but no difference in correlation Dropping every other header, SU LEDs orange but no difference in correlation

15 Future work Enable VLBI_UDP to communicate with Mk5A Streamstor card Enable VLBI_UDP to communicate with Mk5A Streamstor card Deploy and test within e-VLBI test run Deploy and test within e-VLBI test run


Download ppt "VLBI_UDP An application for transferring VLBI data via UDP protocol Simon Casey e-VLBI meeting, Haystack 20 Sep 2006."

Similar presentations


Ads by Google