Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack,...

15
Dr. Michael Ziehensack, Elektrobit 2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London Automotive Ethernet for Virtual Machines

Transcript of Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack,...

Page 1: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

Dr. Michael Ziehensack, Elektrobit2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

Automotive Ethernet for Virtual Machines

Page 2: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

2© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• Automotive Ethernet focused on physical layer, 100 Mbps, single ECUs

Automotive Ethernet – Evolution Phases

AUTOSAR OS(Single or MultiCore)

IP/Ethernet StackEthernet Driver

CPU Cores Mem I/O Network

TSN Prof. Testing Security

100 Mbps 100/1000/… Mbps

Smart Eth Switch

802.1X, IPsec, TLS, IDPS, …OA TC8

• Time Sensitive Networking• Professional Validation• Smart Ethernet Switches

• Different Speed Grades, even more TSN• Security, Safety (ASIL)• High Performance Computers (HPC) – Virtualization of

“Single ECUs” via Virtual Machines (VMs).

Phase 1 Phase 2 Phase 3

Single ECU High Performance Computer (HPC)

Linux OS N.N. OS AUTOSAR OS

HW (CPU + Mem + I/O + Network)

Hypervisor (Bare-metal, type 1)

VM1 VM2 VM3

Page 3: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

3© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• one Operating System (Single or MultiCore) with exclusive access to the Hardware (CPU, Memory, I/O, Ethernet Controller)

High Performance Computer (HPC)Single ECUs

High Performance Computers (HPC), Virtual Machines (VM)

• A HPC runs multiple OS safely and securely in parallel by using a Hypervisor

• Hypervisor has exclusive access to the hardware and provides Virtual Machines (VMs) as isolated, virtual duplicates of the hardware

• VMs allow to run an OS unmodified, just as it would execute directly on the real hardware

Linux OS

HW

Single ECU

N.N. OS

HW

AUTOSAROS

HW

Single ECU Single ECULinux OS N.N. OS AUTOSAR

OS

HW (CPU + Mem + I/O + Network)

Hypervisor (Bare-metal, type 1)

VM1 VM2 VM3

Page 4: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

4© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

Benefits of Virtualization (HPC, VMs)

ECU Consolidation• Powerful SoC instead of multiple

MCUs: performance controllers enable consolidation of multiple in-car applications on a single device (SW from different supplier) …

Mixed Criticality Systems• Usage of real-time and general-

purpose operating systems in parallel, safety separation and isolation

Network Separation• Growing Car-2-X connectivity

requires secure separation of out-bounded connections to the in-vehicle network

HardwareHypervisor

VM VM VM

HardwareHypervisor

VM VM VM

HardwareHypervisor

VM VM VM

Your Benefit

… requires less space, less heating, reduced costs as some parts are not required multiple times

Page 5: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

5© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• 01: VMs need to communicate with the network (VM-Net) and each other (VM-VM) in a transparent way

• 02: VM communication shall support Quality of Service (QoS)

• 03: VM communication shall provide a synchronized time base to all VMs

• 04: VM communication shall provide Freedom from interference at the comm. interface (Safety)

• 05: VM Communication shall be protected against read/write access and suppression from other VMs (Security: Integrity, Availability, Confidentiality)

• High Performance Computer (HPC) combine multiple, Single ECUs as VMs in one device.

• For the HPC Ethernet hardware “EthX” different variants exist (see next slide)

• Single ECUs, each with an Ethernet controller, are connected via an Ethernet Switch

Requirements for VM comm.High Performance ComputerSingle ECUs

Networking requirements for Virtual Machines

Linux OS

HW + Eth1

Single ECU

N.N. OS

HW + Eth2

AUTOSAROS

HW + Eth3

Single ECU Single ECU

Eth Switch

Linux OS N.N. OS AUTOSAR OS

HW + EthX ?

Hypervisor (Bare-metal, type 1)

VM1 VM2 VM3

Page 6: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

6© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• HPC with integrated Ethernet Switch HW: – Provides internal ports (Host Ports), i.e.

Buffer-Descriptor based Interface for VMs

– Provides external ports (Network Ports) to connect other ECUs

• HPC with two or more Ethernet HW interfaces.

• Requires multiple ports at an external Ethernet Switch

• HPC with single Ethernet HW interface which need to be shared between VMs

• In this case the Ethernet Controller typically provides some extensions, e.g. multiple receive and transmit queues.

V03: Integrated Eth SwitchV02: Multiple Eth InterfaceV01: Single Eth Interface

HPC HW variants for connection to Automotive Ethernet

Switch Core + NPs

Hypervisor

HP1 HP x

VM 1

Guest OS

Hypervisor

Guest OS

VM n

Eth 1

VM 1

Guest OS

Guest OS

VM n

VM 1

Guest OS

Hypervisor

Guest OS

VM n

Eth

Eth m… HP m

Page 7: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

7© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• additional Virtual Machine “VM Swt” as Virtual Switch, running Linux and providing a Linux Ethernet Driver and Eth Bridge

• VM Swt has exclusive access to the Ethernet HW, data to/from the network are transferred to the VM Swt via Eth-DMA

• Linux Bridge (Kernel Mode) forwards data between the bridge ports, data to/from VMs are forwarded via CPU copy

V01b: Virtual Switch in HypervisorV01a: Virtual Switch in Linux VM

HPC HW variant V01: Single Eth interface

• A virtual Switch module is running in the Hypervisor or in an AUTOSAR OS executed on a dedicated (safety) Core

• The virtual Switch module contains an Ethernet Driver and has exclusive access to the Ethernet HW

• Eth-DMA is used to forward data to/from the VMs and the network, RT-DMA is used to forward data between VMs

Guest OS

Guest OS

Eth

LinuxEth Bridge

VM1 VM2 VM Swt

HypervisorRx/Tx net

VM1

Guest OS

Guest OS

Eth

vSwt

VM2

Hypervisor

Tx net

Rx net

Eth-DMACPU copy RT-DMAData path:

Page 8: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

8© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• provides multiple Rx queues with a L2 classifier and sorter• Incoming frames are classified (e.g. destination MAC address)

and sorted into a dedicated Rx queue per VM (fixed assignment)

• Shared Tx queues for QoS

V01c: Virtual Switch in Hypervisor, extended Ethernet HW

HPC HW variant V01: Single Eth interface

• Same as variant V01b with optimization of the RxU path:• Reception of unicast frames is directly done by the Eth-DMA by

using a dedicated Rx queue for each VM• Multicast frames still need to be received via the vSwt module

(Eth-DMA, then RT-DMA)

L2 classifier/sorter

CBS

SP

VM1

VM2

VM3

VM7

Rx Tx

VM1..7

…fixedassignment

… VM1

Guest OS

Guest OS

Extend-ed Eth

vSwt

VM2

Hypervisor

RxU/Tx net

RxM net

RxU … Rx unicast RxM … Rx multicastEth-DMACPU copy RT-DMAData path:

Page 9: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

9© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• Example Sequence A:Reception Unicast from the network to VM1

• Control path shown as dotted line

V01c: Virtual Switch in Hypervisor, extended Ethernet HW

HPC HW variant V01: Single Eth interface

• Example Sequence B:Data transmission from VM1 to VM2

• Control path shown as dotted line

VM1

Guest OS

Guest OS

Extend-ed Eth

vSwt

VM2

Hypervisor

1: RxU data directly copied to VM1 (Eth-DMA)

3: data Rx processing

(virtio-net drv)2: checks and

updates at VM1

0: Rx queue configuration

VM1

Guest OS

Guest OS

Extend-ed Eth

vSwt

VM2

Hypervisor

2: Tx data copied from VM1 to VM2

(RT-DMA)

1: checks, Tx request to RT-DMA

0: Rx queue configuration

3: data Rx processing

(virtio-net drv)

Control path: RxU … Rx unicast RxM … Rx multicastEth-DMACPU copy RT-DMAData path:

Page 10: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

10© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

HPC HW variant V02: Multiple Eth interfaces

• HPC with two or more Ethernet HW interfaces.• Requires multiple ports at an external Ethernet Switch• Hypervisor assigns a dedicated Ethernet Controller

to each VM (1:1)• Traffic between VMs goes via an external Ethernet Switch• In case the number of VMs is higher than available Ethernet

interfaces, some VMs can share an Ethernet interface by using variant V01.

VM 1

Guest OS

Hypervisor

Guest OS

VM n

Eth 1

Eth m…

Eth Switch

Eth-DMACPU copy RT-DMAData path:

Page 11: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

11© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• HPC with integrated Ethernet Switch HW: – Provides internal ports (Host Ports), i.e. Buffer-Descriptor based

Interface for VMs

– Provides external ports (Network Ports) to connect other ECUs

HPC HW variant V03: Integrated Eth switch

• Hypervisor assigns a dedicated Host Port to each VM (1:1)• Switch core forwards data between Host Ports (internal traffic),

between Host Ports and Network Ports, and between Network Ports.

• The configuration and control of the switch is done via a Switch driver module running in the Hypervisor or in an AUTOSAR OS on a (safety) Core.

• There are also HW variants that do not provide a complete switch core, but specific HW accelerators for packet processing (such as a programmable packet forwarding engine) that can be used to recreate a switch.

• In case the number of VMs is higher than available Host Ports, some VMs can share a Host Port by using variant V01.

Ethernet Switch

VM1

Guest OS

Guest OS

Switch Core + NPs

VM2

Hypervisor

HP1 HP2

Swt

RxU … Rx unicast RxM … Rx multicastEth-DMACPU copy RT-DMAData path:Control path:

Eth SwitchDriver

Page 12: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

12© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• HW: complex

• SW: Switch driver for config and control• Perf: very high

• HW: simple to complex (depends on number of VMs)

• SW: none• Perf: high

• HW: simple

• SW: Virtual Switch module, flexible• Perf: low to high (depends on SW)

V03: Integrated Eth SwitchV02: Multiple Eth InterfaceV01: Single Eth Interface

HPC HW variants – Comparison

Switch Core + NPs

Hypervisor

HP1 HP x

VM 1

Guest OS

Hypervisor

Guest OS

VM n

Eth 1

VM 1

Guest OS

Guest OS

VM n

VM 1

Guest OS

Hypervisor

Guest OS

VM n

Eth

Eth m… HP m

SW … required software for VM communication Perf. … performance in packets per second (pps) and bits per second (bps)

Page 13: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

13© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• OS-level virtualization provides isolated user-space instances (Container) that share the same Linux kernel. – A process running inside a Container only sees the Containers content

and the devices assigned to the Container.

– Containers are typically faster but not as secure as HW-Virtualization. Can be used as an alternative (Ex. 1) or in addition to VMs (Ex. 2).

A further aspect:OS-level virtualization

• Relevant connection types for Container– Bridge: the Container gets a virtual Ethernet interface that is

connected to the bridge at the host, gets its own MAC and IP address (appears as separate physical machine on the network, in case the Container shall not be seen on the network, NAT can be used)

– Host: the Container directly uses the existing interface of the Host, i.e. MAC and IP address of Host is used, typically used for Automotive SoC

Virtual Machine

Linux OS

Hypervisor

Cores, Mem, I/O, Net

Linux OS

Cores, Mem, I/O, Net

LXC1 LXC2 LXC1 LXC2

Example 1: Container

Container

Example 2: Container+VM

Virtual Machine (Linux OS)

LXCApp1

No Net

LXCara::com

Host Net

LXCApp2

No Net

Linux Kernel

IPC IPC

Eth-DMACPU copy

Container = User Space

Connection Example for Adaptive AUTOSAR

IPC, e.g. Unix Domain Sockets

Kernel shared btw. Container

– Connection of Containers

Page 14: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

14© Elektrobit (EB) 2018

Automotive Ethernet for Virtual Machines2018 IEEE-SA Ethernet & IP @ Automotive Technology Day – London

• High Performance Computer provide Virtualization supporting ECU Consolidation, Network Separation, Mixed Criticality Systems and become a key part of the E/E architecture.

• There are different variants to connect Virtual Machines and Containers of High Performance Computers to Automotive Ethernet depending on the hardware capabilities of the HPC.

• To ensure a high speed connection to the VMs optimizations for the data path are of crucial importance.• Please join us at booth #11 (Elektrobit) if you want get more details of our optimized implementations to connect

Virtual Machines to Automotive Ethernet.

14

Dr. Michael Ziehensack, ElektrobitVP, Car Infrastructure [email protected]

Author information

Thank you for your attention !!

Summary

Page 15: Automotive Ethernet for Virtual Machines - standards.ieee.org · Dr. Michael Ziehensack, Elektrobit. 2018 IEEE -SA Ethernet & IP @ Automotive Technology Day – London. Automotive

[email protected]

Get in touch!