Insights into the performance and configuration of TCP in Automotive Ethernet Networks

Similar documents
Insights on the performance and configuration of AVB and TSN in automotive applications

Outline INSIGHTS ON THE CONFIGURATION AND PERFORMANCES OF SOME/IP SERVICE DISCOVERY. What is SOME/IP and SOME/IP SD

Insights on the Performance and Configuration of AVB and TSN in Automotive Ethernet Networks

Ethernet Design Challenges The requirements and use of Ethernet with AUTOSAR

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

SharkFest'17 US. Understanding Throughput & TCP Windows. A Walk-Through of the Factors that can limit TCP Throughput Performance

CANoe.Ethernet. Product Information

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

ETSF10 Internet Protocols Transport Layer Protocols

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Computer Networks Spring 2017 Homework 2 Due by 3/2/2017, 10:30am

ECE 650 Systems Programming & Engineering. Spring 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

Computer Communication Networks Midterm Review

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

TCP Congestion Control in Wired and Wireless networks

Timing Analysis of Automotive Architectures and Software. Nicolas Navet University of Luxembourg, founder RealTime-at-Work

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Systems. Roland Kammerer. 10. November Institute of Computer Engineering Vienna University of Technology. Communication Protocols for Embedded

Mentor Automotive. Vehicle Network Design to meet the needs of ADAS and Autonomous Driving

Host Solutions Group Technical Bulletin August 30, 2007

The CANoe.Ethernet Solution

Congestion Control 3/16/09

Multi-class Applications for Parallel Usage of a Guaranteed Rate and a Scavenger Service

Congestion Control in TCP

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Quality of Service (QoS)

Pushing the limits of CAN - Scheduling frames with offsets provides a major performance boost

Investigating the Use of Synchronized Clocks in TCP Congestion Control

8. TCP Congestion Control

Fall 2012: FCM 708 Bridge Foundation I

Appendix B. Standards-Track TCP Evaluation

UNIT IV -- TRANSPORT LAYER

TSIN02 - Internetworking

Intro to LAN/WAN. Transport Layer

TSIN02 - Internetworking

TSIN02 - Internetworking

Multiple unconnected networks

Chapter 4. Routers with Tiny Buffers: Experiments. 4.1 Testbed experiments Setup

Linux Plumbers Conference TCP-NV Congestion Avoidance for Data Centers

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Student ID: CS457: Computer Networking Date: 3/20/2007 Name:

Transport protocols. Transport Layer 3-1

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

TSIN02 - Internetworking

ENSC 835 project TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

Congestion Control in TCP

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

Chapter 3 Review Questions

Flow and Congestion Control

Giancarlo Vasta, Magneti Marelli, Lucia Lo Bello, University of Catania,

TCP congestion control:

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

CS321: Computer Networks Congestion Control in TCP

Why an additional Shaper

Chapter 6: Congestion Control and Resource Allocation

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

Introduction to Protocols

UNIT IV TRANSPORT LAYER

Open Network Laboratory

Introduction to Ethernet and IP in automotive vehicles

ETHERNET JOURNEY AT JAGUAR LAND ROVER CHALLENGES IN THE DEVELOPMENT OF AN ETHERNET BACKBONE

Congestion / Flow Control in TCP

Kernel Korner. Analysis of the HTB Queuing Discipline. Yaron Benita. Abstract

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

UNIT 2 TRANSPORT LAYER

Washington State University CptS 455 Sample Final Exam (corrected 12/11/2011 to say open notes) A B C

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Supporting Service Differentiation for Real-Time and Best-Effort Traffic in Stateless Wireless Ad-Hoc Networks (SWAN)

CS 356: Introduction to Computer Networks. Lecture 16: Transmission Control Protocol (TCP) Chap. 5.2, 6.3. Xiaowei Yang

CS 421: COMPUTER NETWORKS SPRING FINAL May 16, minutes

Managing Caching Performance and Differentiated Services

11/24/2009. Fundamentals of Computer Networks ECE 478/578. Flow Control in TCP

CSCI-1680 Transport Layer III Congestion Control Strikes Back Rodrigo Fonseca

Making TCP more Robust against Packet Reordering

CS 421: COMPUTER NETWORKS SPRING FINAL May 24, minutes. Name: Student No: TOT

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

TCP Congestion Control

TCP Congestion Control

The Transport Layer Congestion control in TCP

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP

TCP Congestion Control in Wired and Wireless Networks

Network Management & Monitoring

Adaptive AUTOSAR Extending the Scope of AUTOSAR-based Embedded Software

ENSC 835 project (2002) TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

: GFR -- Providing Rate Guarantees with FIFO Buffers to TCP Traffic

TCP in Asymmetric Environments

Chapter 24. Transport-Layer Protocols

COMP/ELEC 429/556 Introduction to Computer Networks

Transport Protocols and TCP

9th Slide Set Computer Networks

a. (4pts) What general information is contained in a LSR-PDU update that A might send?

Transcription:

Insights into the performance and configuration of TCP in Automotive Ethernet Networks Jörn MIGGE, RealTime-at-Work (RTaW) Nicolas NAVET, University of Luxembourg 2018 IEEE Standards Association (IEEE-SA) Ethernet & IP @ Automotive Technology Day 9-10 October 2018 London, England

Use-cases for TCP in future vehicles Service Oriented Architectures Some/IP Any TCP based applications or protocols e.g.: FTP, HTTP, SSH, SIP, car2x, cloud based services, electric vehicle charging, Diagnostics & flashing DoIP XCP Standard TCP/IP protocols + sockets speed up the development of applications requiring off/on board reliable communications Ethernet TSN 2

AUTOSAR TCP/IP stacks Applications AUTOSAR SWCs signals AUTOSAR RTE PDUs Socket Adaptor sockets AUTOSAR TCP/IP Adaptive Applications network binding AUTOSAR ARA Runtime for Adaptive Applications sockets ADAPTIVE AUTOSAR OS TCP/IP UDP TCP UDP TCP IPv4 / IPv6 datagrams Ethernet interface IPv4 / IPv6 datagrams Ethernet interface TCP in Automotive Ethernet Networks 3

1. AUTOSAR TCP/IP design choices Objectives 2. Maximum achievable TCP performances with & without interfering traffic 3. Guidelines for configuring AUTOSAR TCP/IP for on board communication 4. Impact of shapers on TCP traffic: illustration with CBS used for video TCP performances and configuration has been studied for 40+ years, but what about TCP as specified by AUTOSAR for in vehicle communication? Important study in the literature: On AUTOSAR TCP/IP Performance in In Vehicle Network Environments, in IEEE Communications Magazine, vol. 54, no. 12, pp. 168 173, Dec. 2016. TCP in Automotive Ethernet Networks 4

Techniques & toolset Worst case Traversal Time (WCTT) analysis for hard deadline constraints Timing accurate Simulation for TCP throughput constraints Optimization algorithms for setting the parameters of all supported protocols Toolset RTaW Pegase: modeling / analysis / configuration of automotive Ethernet TSN AUTOSAR TCP/IP stack model implemented in RTaW Pegase TCP in Automotive Ethernet Networks 5

Case-study : Network topology 7 video streams (30 FPS) for vision and ADAS #Nodes 8 #Switches 2 #streams 47 + TCP streams 16% 18% Load per link (wo TCP streams) Min: <1%, max:35% 30% 1Gbit/s 26% Link data rates 100Mbit/s and 1Gbit/s (1 link) 35% 26% TCP connection from ECU1 to ECU6 Loads shown for interfering traffic only not TCP streams TCP in Automotive Ethernet Networks 6

Case-study : Traffic Top priority Command & Control (CC) 32 streams, 256 to 1024 byte frames 5ms to 80ms period and deadlines Hard deadline constraints Second priority level Third priority level Lowest priority Audio Streams Video streams TCP streams 8 streams: 128 and 256 byte frames 1.25ms period and deadline deadline constraints (soft) 3 streams (vision): 30x1400 byte frames every 33ms deadline = 33ms 4 streams (ADAS): 15x1000bytes frames every 33ms deadline = 10ms hard and soft deadline constraints Bulk data = from 64K to 1MB transfers, or 100ms periodic PDUs data, e.g. from CAN networks TCP in Automotive Ethernet Networks 7

AUTOSAR TCP specification TCP in Automotive Ethernet Networks 8

A full fledged TCP implementation! AUTOSAR TCP design choices Our view: sound design choices but configuration is difficult because application specific subtle interactions between parameters: e.g. send/receive windows size, TCP task period, Nagle s algorithm on/off, time out Not included in the specification: selective ack (sack) and timestamp options, recent congestion control algorithms TCP in Automotive Ethernet Networks 9

Bulk traffic: Nagle s algorithm and delayed ack Improve TCP efficiency by postponing both sending of data and sending of ack buffering on both the sending and receiving sides 200ms?! 64kB = first 43 segments of 1460bytes 200ms later comes last segment because of Nagle s algorithm, TCP waits for the delayed ack (200ms). Solution in Autosar is to turn off Nagle. TCP in Automotive Ethernet Networks 10

PDU traffic: Nagle detrimental as well 3 PDU streams over a TCP connection 8, 20 and 64bytes at the lowest priority level Maximum latency: from the time the PDU is written in the socket, until receiver reads it TCP + interfering trafic TCP traffic alone PDU maximum latencies with and without Nagle Nagle OFF Nagle ON For PDU s as well, solution in Autosar is to turn off Nagle s algorithm 0 5 10 15 20 25 30 Maximum latency (ms) TCP in Automotive Ethernet Networks 11

Max. achievable performances with TCP throughput for bulk traffic latencies for PDU traffic TCP in Automotive Ethernet Networks 12

Throughput no interfering traffic Experimental conditions: all mechanisms on but Nagle, event triggered management of TCP stacks, receive window larger than data, no packet loss Max. throughput is quickly reached: 96Mbps of TCP data over 100Mbps links! With interfering traffic (not shown), remaining available bandwidth can be fully used too But no exponential increase during slow start?! TCP in Automotive Ethernet Networks 13

Almost no slow-start phase Expected: throughput growth Observed: max. throughput from start "exponential" slow start "linear" slow start 70000 70000 60000 60000 50000 50000 sequence number 40000 30000 20000 usable window cwnd sent seq acked seq sequence number 40000 30000 20000 usable window queued seq sent seq acked seq cwnd 10000 10000 0 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 time 0 0 1000 2000 3000 4000 5000 6000 time [Round trip times of 2ms] [typical automotive round trip times] Reduced automotive round trip times changes the usual behavior of TCP Re examine what we can expect from TCP in the automotive context TCP in Automotive Ethernet Networks 14

PDU latencies vs receiver reading period PDU TCP streams = 8, 20 and 64 bytes at the lowest priority level Maximum latency Nagle off window update sent asap after receiver reads buffer Maximum latency (ms) 35 30 25 20 15 10 5 0 PDU maximum latencies vs receiver reading period TCP traffic alone TCP + interfering traffic 5 10 15 20 Receiver reading period (ms) Maximum latency traversal time + reading period TCPMainFunction may further delay data transfer to application PDU maximum latencies can be controlled by adjusting receiver s reading period TCP in Automotive Ethernet Networks 15

TCP configuration in a TSN network TCP in Automotive Ethernet Networks 16

Config #1: video streams not shaped Experimental setup Config #2: End to end shaping with TSN Credit Based Shaper (CBS) Interfering streams configured so as to meet their latency constraints Video under CBS configured with Tight IdleSlope algorithm = minimum Idle Slopes allowing to meet deadline constraints TCP traffic: 1MB transfers (=685 segments) between ECU1 and ECU6 every 1s Minimum throughput over all TCP transfers collected over long simulations: sample of 36000 data points (12 hours of functioning) Receiver reads TCP buffer every 1ms TCP in Automotive Ethernet Networks 17

Larger rcwnd improves throughput but more memory required in the switches to not lose packets Shaping improves TCP throughput and reduces switch memory usage Memory used in switches (Kb) 160 150 140 130 120 110 100 90 80 Throughput vs maximum memory for varying receive window sizes (rcwnd) no CBS rcwnd=5mss CBS for video rcwnd=64kb 30 35 40 45 50 55 60 65 70 TCP throughput (Mbps) rcwnd values: 5MSS 8MSS 10MSS 11MSS 20MSS 30MSS 64KB CBS improves TCP throughput (up to 30%) and reduces memory requirement (up to 14%) for all parameters larger gains with smaller TCP transfers more subject to bursts of interfering traffic TCP in Automotive Ethernet Networks 18

Configuring TCP receive window size efficiency areas Memory used in switches (Kb) 160 150 140 130 120 110 100 90 80 Throughput vs maximum memory for varying receive window sizes (rcwnd) no CBS CBS for video Increasing rcwnd size is effective: 4Mbps per additional MSS rcwnd=5mss rcwnd=64kb much less effective after threshold: 0.13Mbps per MSS 30 35 40 45 50 55 60 65 70 TCP throughput (Mbps) rcwnd values: 5MSS 8MSS 10MSS 11MSS 20MSS 30MSS 64KB With or without CBS, larger receive windows improve throughput the gain drops after a threshold that depends on how often receive buffer is read TCP in Automotive Ethernet Networks 19

In practice, larger receive windows can be detrimental! Memory for switch port SW2 to ECU6 set to 30Kb, packet is dropped if memory full TCP bulk traffic average latency Nagle off Larger receive 70 TCP throughput vs receive window size windows means more in flight data. 60 Packet losses in 50 switches lead to 40 retransmission after 30 time out (1s) and 20 drop in throughput! without CBS with CBS 10 Receive window 0 size should be set 20 21 22 23 24 25 26 wrt switch memory TCP throughput (Mbps) Receive window size in MSS TCP in Automotive Ethernet Networks 20

1 2 3 Takeways AUTOSAR specifies a full fledged TCP protocol Need to re examine what we know about TCP in the automotive context AUTOSAR TCP is able to use all of the available bandwidth with minimal latencies if properly configured and enough memory TCP for soft real time only as one can just obtain statistical guarantees (i.e., no worst case analysis) The use of TSN shapers at higher priority levels improves TCP performance and reduces overall memory requirement AUTOSAR TCP configuration choices make a huge difference, parameters cannot be set in isolation E.g. best choices for receive window size & polling period depend on switch memory size TCP in Automotive Ethernet Networks 21

Thank you for your attention! Questions? Feedback? contact us at jorn.migge@realtimeatwork.com nicolas.navet@uni.lu TCP in Automotive Ethernet Networks 22

References TCP in Automotive Ethernet Networks 23

References 1. S. Han and H. Kim, On AUTOSAR TCP/IP Performance in In Vehicle Network Environments, in IEEE Communications Magazine, vol. 54, no. 12, pp. 168 173, Dec. 2016. 2. AUTOSAR, Specification of TCP/IP Stack, release 4.3.1., 2017. TCP in Automotive Ethernet Networks 24