Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 The road to 980Mbps eVLBI Harro Verkouter Joint Institute for VLBI in Europe.

Slides:



Advertisements
Similar presentations
Computer Networks TCP/IP Protocol Suite.
Advertisements

1 Data Link Protocols By Erik Reeber. 2 Goals Use SPIN to model-check successively more complex protocols Using the protocols in Tannenbaums 3 rd Edition.
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
EEE 435 Principles of Operating Systems Interprocess Communication Pt II (Modern Operating Systems 2.3)
Secure Operating Systems Lesson 5: Shared Objects.
Transmission Control Protocol (TCP)
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Fundamentals of Computer Networks ECE 478/578 Lecture #21: TCP Window Mechanism Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
IP Telephony Project By: Liane Lewin Shahar Eytan Guided By: Ran Cohen - IBM Vitali Sokhin - Technion.
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
CSCE 515: Computer Network Programming TCP Details Wenyuan Xu Department of Computer Science and Engineering.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
FreeBSD Network Stack Performance Srinivas Krishnan University of North Carolina at Chapel Hill.
Error Checking continued. Network Layers in Action Each layer in the OSI Model will add header information that pertains to that specific protocol. On.
1 ICMP : Internet Control Message Protocol Computer Network System Sirak Kaewjamnong.
Ch 3. Transport Layer Myungchul Kim
1 Transport Layer Computer Networks. 2 Where are we?
Computer Networks.  The OSI model is a framework containing seven layers that defines the protocols and devices used at each stage of the process when.
Chapter 2 – X.25, Frame Relay & ATM. Switched Network Stations are not connected together necessarily by a single link Stations are typically far apart.
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
Multimedia Over IP: RTP, RTCP, RTSP “Computer Science” Department of Informatics Athens University of Economics and Business Λουκάς Ελευθέριος.
Wireless TCP Prasun Dewan Department of Computer Science University of North Carolina
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
University of the Western Cape Chapter 12: The Transport Layer.
3: Transport Layer 3a-1 8: Principles of Reliable Data Transfer Last Modified: 10/15/2015 7:04:07 PM Slides adapted from: J.F Kurose and K.W. Ross,
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
NATs and UDP Victor Norman CS322 Spring NAPT Suppose we have a router doing NAT: half is the “public side”, IP address ; other half is.
User Datagram Protocol (UDP) Chapter 11. Know TCP/IP transfers datagrams around Forwarded based on destination’s IP address Forwarded based on destination’s.
1 Internet Control Message Protocol (ICMP) Used to send error and control messages. It is a necessary part of the TCP/IP suite. It is above the IP module.
1 Mao W07 Midterm Review EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007 Acknowledgement: Some.
Introduction VLBI_UDP is an application being developed to transfer VLBI data using the UDP protocol. Initially developed by Richard Hughes- Jones for.
CE Operating Systems Lecture 13 Linux/Unix interprocess communication.
Wireless TCP. References r Hari Balakrishnan, Venkat Padmanabhan, Srinivasan Seshan and Randy H. Katz, " A Comparison of Mechanisms for Improving TCP.
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
Lecture (Mar 23, 2000) H/W Assignment 3 posted on Web –Due Tuesday March 28, 2000 Review of Data packets LANS WANS.
Networking Basics CCNA 1 Chapter 11.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Forward Error Correction vs. Active Retransmit Requests in Wireless Networks Robbert Haarman.
Internet multimedia: simplest approach audio, video not streamed: r no, “pipelining,” long delays until playout! r audio or video stored in file r files.
VLBI_UDP An application for transferring VLBI data via UDP protocol Simon Casey e-VLBI meeting, Haystack 20 Sep 2006.
Today’s topic: UDP Reliable communication over UDP.
Unit 1 Lecture 4.
Queuing Delay 1. Access Delay Some protocols require a sender to “gain access” to the channel –The channel is shared and some time is used trying to determine.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
1 Masaki Hirabaru and Yasuhiro Koyama PFLDnet 2006 Febrary 2, 2006 International e-VLBI Experience.
1 eVLBI Developments at Jodrell Bank Observatory Ralph Spencer, Richard Hughes- Jones, Simon Casey, Paul Burgess, The University of Manchester.
TOG, Yebes, November 2007, A. Szomoru, JIVE Arpad Szomoru, JIVE EXPReS progress, Mark5 and e-VLBI.
INDIANAUNIVERSITYINDIANAUNIVERSITY Tsunami File Transfer Protocol Presentation by ANML January 2003.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Masaki Hirabaru (NICT) and Jin Tanaka (KDDI) Impact of Bottleneck Queue on Long Distant TCP Transfer August 25, 2005 NOC-Network Engineering Session Advanced.
SA1: second year overview Arpad Szomoru JIVE January 30EXPReS Board Meeting, Utrecht, the Netherlands: SA1Slide #2 Outline Accomplishments in 2007.
Lecture 5 Page 1 CS 111 Summer 2013 Bounded Buffers A higher level abstraction than shared domains or simple messages But not quite as high level as RPC.
The Transport Layer Implementation Services Functions Protocols
Chapter 3 Transport Layer
Introduction to Networks
Networking between China and Europe
CMPT 371 Data Communications and Networking
Network Core and QoS.
Internet Control Message Protocol
Error Checking continued
Transport Layer 9/22/2019.
Network Core and QoS.
Lecture 6, Computer Networks (198:552)
Presentation transcript:

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 The road to 980Mbps eVLBI Harro Verkouter Joint Institute for VLBI in Europe

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 How to get involved... eVLBI demo at APAN conference 27/28 Aug 2007, in Xi'An want to include Shanghai LP up but poor TCP/IP performance (2Mbps) lossy + out-of-order reception investigate possibility of UDP transport suffers from those too both TCP and UDP based on IP-datagrams no retransmits/ramp-up/etc (no feedback!)

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 hacking Mark5A.c Haystack codebase does TCP reliably should do UDP but didn't looked like coding was stopped halfway reasonably easy to get it going revealed coding and UDP issues race conditions lack of feedback packetloss

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 bytes blocks Mk5 I/O board while (1) { wait( n_empty>0 ); wait_for_blocksize_bytes( ); copy_block_to_mem(); n_filled++; n_empty--; } Read thread Network Write thread while (1) { wait( n_filled>0 ); send_block_chunks( ); n_empty++; n_filled--; } circular buffer in MEM (shared memory + semaphores 'n_empty' and 'n_filled') indicates settable parameter via net_protocol=... command

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 First UDP tests... unstable datatransfer to Sh LAN worked fine 10% loss at low datarate (256Mbps) not quite correlatable :( packets never get on the wire sender doesn't know or care (no feedback!) overwrites own sendbuffer 1Gbps standard microbursts not all equipment can handle this

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 Ratecontrol/packet spacing... known that it was necessary Simon Casey and Richard H. Jones APAN demo nearing (5 days to go)... needed to get something, soon! tried to be smart computing packet spacing t based on datagramsize + linkrate need few s (MTU 1500, 1Gbps 12 s)

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 t sending packets Current: Ideal: With formatter sync:

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 Ratecontrol?!? didn't work at all! Linux is not a RealTime OS (...) sleeps() quantized in units of 10ms threads (==processes) 100Hz now what?! how to synchronize sender? suddenly realized we have a near perfect synchronous device... the formatter + Mk5 I/O board

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 Ratecontrol? remember the inter-thread circular buffer? n_empty + n_filled = n_total now imagine... n_total = 1 buffer degenerates into a mutex... which means the block is either filled from the I/O board synchronously at current bitrate! or sent to the network

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 Ratecontrol! worked amazingly well APAN also solution for Ar 1Gbps NIC 155Mbps ATM n_total = 2 blocksize = 1500 bytes got 64Mbps (previously, with TCP, couldn't do eVLBI) only good for datarates up to ~256Mbps

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 t sending packets! Bad (how we began): Ideal (couldn't get this to work): With formatter sync:

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 Demo ok, UDP looks promising, but! we had a bigger problem UDP transfer could not be restarted required killing + restarting Mark5A not suitable for operations spent few weeks on the issue kept on getting (weird) streamstor failures DMA errors, memorylock error,... made no progress at all

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 A new beginning? write testprogram to investigate streamstor behaviour disk2net UDP multithreaded different thread synchronization queue + condition variable could not recreate streamstor failures transfers could be started/stopped at will

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 jive5a extending the testprogram want to do in2net rather than disk2net need to program the Mark5 I/O board mostly copied from Haystack's Mark5A fairly easy to get it to work primary use eVLBI needed net2out as well

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 Early october 2007 jive5a first used for eVLBI want to take it further 512Mbps still not operational switch 'collapsed' (Paul JIVE solved this) (1) receiving end has to deal with packet loss out-of-order reception (2) sending end has to space packets as evenly as possible

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 (1) need protocol for this... sender + receiver agree on datagramsize added command for this 64bit sequence number in each datagram suffices to detect + fix out-of-order reception detect + fix loss can do statistics

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 (2) Spacing the packets sleep()'ing between packets not an option whatever the solution prefer something portable if possible good enough = good enough for(volatile int i=0; i<ipd; ++i); does the job surprisingly well... gave us reliable 512Mbps allows per n-coreCPU/link finetuning

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08

Jun 07 Dec 07 Jun 08 Sep 07 Mar ? Check! Next stop: BaseX links effectively ~980Mbps of userdata (UDP) need to trow away a bit of data simplest approach do not send a datagram every once in a while implement packet-drop-rate if 0, drop every 1 in pdr packet too simplistic correlator had problems staying in sync

Jun 07 Dec 07 Jun 08 Sep 07 Mar (the pdr version) – Dec 2007 smartened up the sender find headers in datastream on-the-fly do not drop packet if it contains header drops packet at earliest convenience worked! correlator stayed in sync with pdr~20 (5%) does add CPU usage cannot do 1024 on 1CPU/PIII system anyway 2 core/cpu Mk5's can do this

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 Drawback of dropping randomly dropping not correlated between senders total loss of visibilities ~ twice the amount of loss per station on the order of 10%... start thinking of dropping coherently dropping the same channel at each station but that requires lot of extra CPU power needed at least 2 CPUs to begin with anyway

Jun 07 Dec 07 Jun 08 Sep 07 Mar by means of channeldropping? not for the weak at heart... specify 64bit bitmask ones for the tracks you want to keep jive5a builds list of shifts + masks to fill 'holes' in the mask generate c-source for (de)compressionfn invokes compiler to generate object file dynamically loads that back into itself

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 SRC: DST: SRC: DST: SRC: DST: SRC: DST: SRC: DST: SRC: DST: SRC: DST: SRC: DST: SRC: DST: SRC: DST: SRC: DST: SRC: DST:

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 channel dropping results Concept proven to work! requires extra, CPU intensive, thread 3 core/CPU system at minimum correlates dropping 2x 2bits (out of 32) at 1024Mbps correlator couldn't sync CPU and network keeping up Just Fine under investigation

Jun 07 Dec 07 Jun 08 Sep 07 Mar 08 Thank you for your patience!