cross layer cross layer latency aware and predictable
play

CROSS-LAYER CROSS-LAYER LATENCY-AWARE AND -PREDICTABLE - PowerPoint PPT Presentation

CROSS-LAYER CROSS-LAYER LATENCY-AWARE AND -PREDICTABLE LATENCY-AWARE AND -PREDICTABLE DATA COMMUNICATION DATA COMMUNICATION Andreas Schmidt Apr 07th, 2020 Anywhere on Earth Doctoral Colloquium 1


  1. CROSS-LAYER CROSS-LAYER LATENCY-AWARE AND -PREDICTABLE LATENCY-AWARE AND -PREDICTABLE DATA COMMUNICATION DATA COMMUNICATION Andreas Schmidt Apr 07th, 2020 Anywhere on Earth 復 􏥧  􏞣 Doctoral Colloquium 1

  2.    􏋜  􏡠  􏂆 CYBER-PHYSICAL SYSTEMS CYBER-PHYSICAL SYSTEMS 2 . 1

  3.  􏈴  􏂆  􏂆 􏙢  􏂆   􏂆  􏂆  􏇁 􏡠  DISTRIBUTED CYBER-PHYSICAL SYSTEMS DISTRIBUTED CYBER-PHYSICAL SYSTEMS 2 . 2

  4. A REAL-WORLD A REAL-WORLD DISTRIBUTED CPS DISTRIBUTED CPS  􏡠 Proprietary Solution Enhanced Shock Burst (ESB)  􏡠 Our Open Solution Wi-Fi, IP, PRRT Publication-in-Progress [BSGPH20] 0:00 / 0:41 2 . 3

  5. 2008 2008  􏇛 Cyber Physical Systems: Design Challenges [Lee08] "Passing of time is inexorable" Most abstractions insufficiently capture timing Edward A. Lee UC Berkeley 2 . 4

  6. LATENCY-* LATENCY-* AWARENESS AWARENESS PREDICTABILITY PREDICTABILITY  􏁯  􏇦 Know what latency you require Built upon awareness Know what latency you cause Improve confidence Share this with others Share confidence with others 2 . 5

  7. STATE OF AFFAIRS IN NETWORKING STATE OF AFFAIRS IN NETWORKING The Internet most dominant interconnecting communication systems best effort , i.e. no predictable timing (by design) Link: Transmission latencies known, but not exposed  􏃂 IP: No timing at all  􏇡 Transport Layer: 􏑶  TCP:  UDP:  RTP:  Let's go back to proprietary, closed networks? No! Why? 􏃬  2 . 6

  8. Internet Architecture [Cla18] provides INTEROPERABILITY INTEROPERABILITY 2 . 7

  9. RESEARCH QUESTION * RESEARCH QUESTION CAN WE MAINTAIN CAN WE MAINTAIN INTEROPERABILITY INTEROPERABILITY AND AND AT THE SAME TIME AT THE SAME TIME ACHIEVE ACHIEVE LATENCY-AWARENESS AND -PREDICTABILITY? LATENCY-AWARENESS AND -PREDICTABILITY? * as you might assume, this is a question too big for a PhD thesis 2 . 8

  10. TODAY'S RESEARCH QUESTION * TODAY'S RESEARCH QUESTION CAN WE BUILD CAN WE BUILD TRANSPORT LAYERS TRANSPORT LAYERS WITH WITH LATENCY-AWARENESS AND -PREDICTABILITY? LATENCY-AWARENESS AND -PREDICTABILITY? * 2 . 9

  11. OUTLINE OUTLINE 􏃭  􏙄  􏋳   􏕜  􏇦 PRRT PRRT X-LAP X-LAP X-PACE X-PACE TTS TTS OUTLOOK OUTLOOK 2 . 10

  12.  􏃭 PRRT PRRT [SH16a, GGG + 19] 3 . 1

  13. WHAT IS THE PROBLEM? WHAT IS THE PROBLEM? Full reliability infinite time [Sha48, Fei54] ⇒ Most applications... ... have (some) time constraint ... can tolerate (some) missing data  (Today's) transport protocols do not consider that 3 . 2

  14. FLAVOURS OF RELIABILITY FLAVOURS OF RELIABILITY  Full  Partial 3 . 3

  15. PRRT PROTOCOL PRRT PROTOCOL Predictably Reliable Real-time Transport Fundamental work in [Gor12] Redesign for control applications since 2015 3 . 4

  16. PRRT'S PLACE IN THE ISO MODEL PRRT'S PLACE IN THE ISO MODEL Default In General Control/Multimedia App Control/Multimedia App PRRT PRRT UDP Any Layer with IP Process-to-Process Datagram Delivery Any MAC 3 . 5

  17. PRRT CHANNEL MEASUREMENT PRRT CHANNEL MEASUREMENT Parameter Approach Round-trip Time NTP Algorithm [MMBK10] Delivery Rate IETF Dra� [CCYJ17] Loss Rate & Correlation Statistics over success-failure sequences Selective ACKs with feedback Measurements exposed via API 3 . 6

  18. PRRT'S RECEIVE MODES PRRT'S RECEIVE MODES 3 . 7

  19. PRRT'S FUNCTIONS PRRT'S FUNCTIONS Error Control Adaptive Hybrid Error Coding [Gor12] (not covered in this talk) Congestion Control Based on BBR ideas [CCG + 16] Utilization & measurement Latency-avoidance Rate and Flow Control Later: X-Pace  􏋳 3 . 8

  20. EVALUATION EVALUATION [GGG + 19] 3 . 9

  21. USABILITY USABILITY Technology  􏄢 Policy  􏃤 C implementation & API Publicly available at prrt.larn.systems Python API (via Cython ) MIT licensed Rust API (via bindgen ) 3 . 10

  22.  􏙄 X-LAP X-LAP [RSH+17, RSH + 18] 4 . 1

  23. WHAT IS THE PROBLEM? WHAT IS THE PROBLEM?  CPS demand predictable latency and timing Cross-layer, intra-host profiling is required valgrind , wireshark , packetdrill ... insufficient Microsecond regime is increasingly relevant [BMPR17] 4 . 2

  24. STAMPS STAMPS Processor Cycles  􏋜 Wall-Time  􏀘 rdtsc CLOCK_MONOTONIC cheap to capture (≈ 10ns) expensive to capture (≈ 70ns) non-trivial relation to wall-time 4 . 3

  25. WHAT IS X-LAP? WHAT IS X-LAP? X = Cross, Lap = time to do one round X-Lap is a cross-layer, intra-host, timing & latency analysis tool download at xlap.larn.systems 4 . 4

  26. STAMPS IN X-LAP STAMPS IN X-LAP e.g.: ChannelTransmit [ms]  􏀘 ↑ t = 5 ms ↓ c = 7 156 294 [1]  􏋜 4 . 5

  27. X-LAP IN ACTION X-LAP IN ACTION 4 . 6

  28. TRACES DATA FORMAT TRACES DATA FORMAT SN ... ... ChannelTransmit_T ChannelTransmit_C 42 ... 5.012ms ... 7 156 294 43 ... 5.029ms ... 47 961 303 ... ... ... .... ... 4 . 7

  29. RUNTIME TRACING CODE RUNTIME TRACING CODE 1 void send_packet (PrrtPacket* pkt) { 2 pace(); // delays sending of data using cross-layer pacing 3 wait_for_free_congestion_window_space(); 4 compute_next_send_time(); // for cross-layer pacing 5 char [] bytes = serialize_packet_to_bytes(pkt); 6 XlapStamp_Cycle(LinkTransmitStart, pkt->seqno); 7 struct timespec timestamp ; 8 uint64_t cyclestamp; 9 send(sock_fd, bytes, & timestamp, &cyclestamp); 10 XlapStamp_TimeValue(ChannelTransmit, timestamp, pkt->seqno); 11 XlapStamp_CycleValue(ChannelTransmit, cyclestamp, pkt->seqno); 12 track_outstanding_packet(pkt); 13 XlapStamp_Cycle(LinkTransmitEnd, pkt->seqno); 14 } 4 . 8

  30. CYCLE TO TIME CYCLE TO TIME 4 . 9

  31. PACKET TRACE PACKET TRACE 4 . 10

  32. TRACE JITTER TRACE JITTER 4 . 11

  33. MULTISERIES CORRELATION MULTISERIES CORRELATION 4 . 12

  34.  􏋳 X-PACE X-PACE [SRGP + 19] 5 . 1

  35. WHAT IS THE PROBLEM? WHAT IS THE PROBLEM?  Bufferbloat [GN12] Unpaced Paced 5 . 2

  36. PACING PACING PACE PACE intentionally delaying time a transmission P , [ P ] = unit of work 5 . 3

  37. PACED SYSTEMS PACED SYSTEMS CROSS-LAYER PACING CROSS-LAYER PACING every step considers S is paced iff i ∈ [0 : n − 1] and adapts its pace to the P ( i ) ∀ i , j ∈ [0 : n − 1] : bottleneck pace P ( btl ) P ( i ) P ( j ) i < j ⇒ ≥ 5 . 4

  38. PROPAGATE PACES PROPAGATE PACES 5 . 5

  39. REDUCE 無 駄 * REDUCE 無 駄 * muda or waste, originally described by Toyota Production System [Ohn88] Inventory : only a delivered message is useful  􏑩 Waiting : a message loses value over time  􏇛 Overprocessing : as-fast-as-possible causes losses  􏒌 5 . 6

  40. X-PACE IN PRRT X-PACE IN PRRT 5 . 7

  41. CROSS-LAYER API CROSS-LAYER API send_sync() socket.btl_pace Passive Active 5 . 8

  42. EVALUATION APPROACH EVALUATION APPROACH PRRT with X-Pace vs. Optimized TCP Variants (CUBIC, BBR) NODELAY , QUICKACK low_latency SNDBUF & RCVBUF low write() not send() 5 . 9

  43. INTERNET SCENARIO INTERNET SCENARIO traceroute to 79.199.28.123 (79.199.28.123), 30 hops max , 60 byte packets 1 vlan-herfet-neu .nt.uni-saarland.de (134.96.86.1) 0.400 ms 0.358 ms 0.420 ms 2 c65eb36-win .net.uni-saarland.de (134.96.6.54) 0.328 ms 0.314 ms 0.384 ms 3 cr-dui1-te0-5-0-2-4 .x-win.dfn.de (188.1.241.185) 8.687 ms 8.688 ms 8.680 ms 4 cr-fra2-be16 .x-win.dfn.de (188.1.144.178) 9.618 ms 9.732 ms 9.727 ms 5 ffm-b12-link .telia.net (213.248.97.40) 9.226 ms 9.563 ms 9.191 ms 6 ffm-bb3-link .telia.net (62.115.142.46) 10.069 ms 9.761 ms 9.704 ms 7 ffm-b4-link .telia.net (62.115.120.6) 9.802 ms 9.792 ms 10.024 ms 8 dtag-ic-319284-ffm-b4 .c.telia.net (213.248.93.187) 10.374 ms 10.175 ms 10.17 9 91.23.246.213 (91.23.246.213) 13.230 ms 13.252 ms 13.234 ms 10 * * * ... 30 * * * 5 . 10

  44. RESULTS RESULTS 5 . 11

  45. 􏕜  TRANSPARENT TRANSMISSION TRANSPARENT TRANSMISSION SEGMENTATION SEGMENTATION [SH16b, SH17b] 6 . 1

  46. WHAT IS A PROBLEM? WHAT IS A PROBLEM? Small receiver buffer flow-limited communication 􏁲  ⇒ 6 . 2

  47. TRANSPARENT TRANSMISSION TRANSPARENT TRANSMISSION SEGMENTATION SEGMENTATION Relay: Transport-Layer Performance-Enhancing-Proxy [ RFC3135 ]  􏃭 6 . 3

  48. TTS IN ACTION TTS IN ACTION 6 . 4

  49. IDEAL RECEIVER BUFFER IDEAL RECEIVER BUFFER derived from a theoretical flow control model RTT 1 B relay = ⋅ B recv RTT 2 R eff , TTS RTT 1 Λ = = + 1 R eff , E 2 E RTT 2 6 . 5

  50. EVALUATION EVALUATION B recv = 4 KiB, RT T 1 = 20 ms, RT T 2 = 5 ms ⇒ Λ = 5, B relay = 4 ⋅ 4KiB 6 . 6

  51. BENEFITS OF TTS BENEFITS OF TTS Lossy Last Mile High Reordering due to Jitter Insufficient Receiver Buffer 6 . 7

  52.  􏇦 OUTLOOK OUTLOOK e.LARN, [SGPH20] 7 . 1

  53. FUTURE WORK FUTURE WORK  􏍷  􏣲  􏇡 Energy- Statistical Multicast Awareness Shaping Support 7 . 2

  54. WRAP-UP WRAP-UP 􏂆  NETWORKED CPS NETWORKED CPS 􏃭  􏙄  􏋳  􏕜  PRRT PRRT X-LAP X-LAP X-PACE X-PACE TTS TTS [SH16a, GGG + 19] [RSH+17, RSH + 18] [SRGP + 19] [SH16b, SH17b] 􏇦  OUTLOOK OUTLOOK e.LARN, [SGPH20] 8 . 1

  55.  􏋾 QUESTIONS QUESTIONS 8 . 2

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend