SlideShare a Scribd company logo
2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D
Andrei Kholodnyi
https://github.com/razr
https://discourse.ros.org/u/razr
https://www.linkedin.com/in/akholodnyi/
T
e
c
h
n
o
l
o
g
y
O
f
f
i
c
e
TSN apps running on VxWorks RTOS
as a KVM guest at the intelligent edge
Agenda
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
Why a separation of control
from sensor and actuation
functionality is important for the
intelligent edge solution
1
Why TSN and RTOS are
essential parts of the
intelligent edge story.
2
How to properly configure
TSN, Linux and VxWorks
KVM guest to run a OPC/UA
TSN example
3
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
EDGE – WHY DO WE NEED TSN AND REAL-TIME?
Edge Cloud
Devices Customer premises Access
network
~2 ms <5 ms 1-3 ms
Edge compute
~5-20 ms
0-25 km 25-100 km
Centralized Data Center
100s-1000s km
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
Edge use case : decoupling control from sensing and
actuation
VM
Real-time Control
VxWorks
OPC/UA
Sensing Control Actuation
Edge Real-time Control
VxWorks
TSN
OPC/UA
VM
Linux
OPC/UA
ML MW
Edge Virtualization
VxWorks
OPC/UA
Sensing Actuation
TSN
Control ML Apps
Real-time device
TSN
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
Demo Configuration: Edge real time control
QEMU VM
Core 0
OpenIL Linux RT KVM
OPC/UA
TSN
VxWorks
Unikernel
PubSub
Tx
Core 1 Core 2 Core 3
LS1046ARDB
i210
Core 0
OPC/UA
TSN
OpenIL Linux
PubSub Rx
Core 1
LS1028ARDB
eno0
TSN
Linux Apps
https://github.com/open62541/open62541/tree/master/examples/pubsub_realtime/vxworks
Edge Node
Edge Device
PCI passthrough
192.168.10.46 192.168.10.28
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
• Virtualization
• Linux host
• QEMU
• Real-time guest OS
• PCI pass-through
• i210 card passed through to
the guest
DEMO – Virtualization
QEMU VM
Core 0
OpenIL Linux RT KVM
OPC/UA
TSN
VxWorks
Unikernel
PubSub
Tx
Core 1 Core 2 Core 3
LS1046ARDB
i210
Linux Apps
Edge Node
dev=0001:01:00.0
echo $dev > /sys/bus/pci/devices/$dev/driver/unbind
echo vfio-pci > /sys/bus/pci/devices/$dev/driver_override echo $dev >
/sys/bus/pci/drivers/vfio-pci/bind
~# lspci -k 0001:01:00.0 Ethernet controller: Intel Corporation I210
Gigabit Network Connection (rev 03) Subsystem: Intel Corporation
Ethernet Server Adapter I210-T1 Kernel driver in use: vfio-pci
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
• VxWorks kernel library
• librsl.a
• UP mode
• Real-time kernel application
• tsnperf
DEMO – Real-time unikernel
Core 0
OPC/UA
TSN
VxWorks
Unikernel
PubSub
Tx
Core 1 Core 2 Core 3
LS1046ARDB
i210
Linux Apps
Edge Node
$ cat ~/stash/projects/TO/rsl_apps/tsnperf/Makefile
APP = tsnPerf
all: $(APP)
$(APP): $(APP).o main.o Makefile
$(RSL_SDK)/krnl/librsl.a
rsl build $(APP).o main.o -o $(APP)
What is VxWorks?
• it is a proprietary hard real-time OS, POSIX PSE52
• 64 bits on ARM, Intel, MIPS, PowerPC, and RISC-V
• Kernel and user space separation, user space optional
• C/C++17, possible to develop kernel C++ modules and user apps, and
recently Rust and Python
• Safety certifiable: DO-178, ISO 26262, IEC 61508
• Toolchain LLVM 11, Dinkumware C/C++ libs
• Proprietary build system. CMake, autotools support for apps, e.g.
ROS2
• Kernel shell
• Eclipse, and Visual Studio Code - modern IDEs, Windows/Linux hosts
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
▪ Isolate CPU 2 and 3 to run QEMU
rcu_nocbs=2,3 nohz_full=2,3
isolcpus=2,3 irqaffinity=0,1
audit=0 watchdog=0 skew_tick=1
▪ No CPU frequency scaling
▪ Other settings
DEMO – RT_PREEMPT
QEMU VM
Core 0
OpenIL Linux RT KVM
OPC/UA
TSN
VxWorks
Unikernel
PubSub
Tx
Core 1 Core 2 Core 3
LS1046ARDB
i210
Linux Apps
Edge Node
CONFIG_NO_HZ_FULL=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT_RT=y
CONFIG_HZ_1000=y
# CONFIG_CPU_FREQ is not set
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
▪ taskset -c 2 /* run on CPU2 */
▪ -enable-kvm /* no emulation */
▪ -smp 1 /* one CPU only */
▪ -nic none /* no nic */
▪ -name debug-threads=on /* name threads */
▪ -device vfio-pci,host=$dev /* passthrough */
DEMO – QEMU
QEMU VM
Core 0
OpenIL Linux RT KVM
OPC/UA
TSN
VxWorks
Unikernel
PubSub
Tx
Core 1 Core 2 Core 3
LS1046ARDB
i210
Edge Node
taskset -c 2 /work/qemu/installArm/bin/qemu-system-aarch64 -cpu host
-enable-kvm -smp 1 -name debug-threads=on -nic none -machine
type=virt,gic-version=host -nographic -m 256 -overcommit mem-
lock=on -append "fs(0,0)host:vxWorks h=192.168.10.28
e=192.168.10.46 u=user pw=invalid f=0x01 o=gei0" -kernel
/root/tsnPerf -device vfio-pci,host=$dev
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
▪ Move vCore process to the CPU 3
▪ Let other QEMU threads on the CPU 2
DEMO – pin vCore to pCore
QEMU VM
Core 0
OpenIL Linux RT KVM
OPC/UA
TSN
VxWorks
Unikernel
PubSub
Tx
Core 1 Core 2 Core 3
LS1046ARDB
i210
Edge Node
QEMU_PID=`pidof qemu-system-aarch64`
user@LS1046ARDB-Ubuntu:~$ pstree -t $QEMU_PID
qemu-system-aar─┬─{CPU 0/KVM}
├─{qemu-system-aar}
└─{signalfd_compat}
VCPU_PID=`ps -aL |grep -E "(kvm-vcpu|CPU.*KVM)"|awk '{print $2}’
VCPU_CORE=3
taskset -c -p $VCPU_CORE $VCPU_PID
QEMU
thread #1
QEMU
thread #n
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
-> ptpdAdd "gei0", 2, 2, 1, 0, 254, 0, 1
-> ptpdStart
-> ptpdStatusShow "gei0"
Interface name : gei0
Now in state : PTP_SLAVE
Demo Configuration: PTP
QEMU VM
Core 0
OpenIL Linux RT KVM
PTP slave
VxWorks
Unikernel
Core 1 Core 2 Core 3
LS1046ARDB
i210
Core 0
PTP master
OpenIL Linux
Core 1
LS1028ARDB
eno0
PTP
https://github.com/open62541/open62541/tree/master/examples/pubsub_realtime/vxworks
Edge Node
PCI passthrough
192.168.10.46 192.168.10.28
Edge Device
sudo daemonize -E BUILD_ID=dontKillMe -o /var/log/ptp4l.log -e
/var/log/ptp4l.err.log /usr/bin/taskset -c 1 chrt 90 /usr/sbin/ptp4l -i eno0 -2
-mq -f /etc/ptp4l_cfg/gPTP.cfg --step_threshold=1 --fault_reset_interval=0
--announceReceiptTimeout=10 --transportSpecific=1
root@LS1028ARDB-Ubuntu:~# tail -f /var/log/ptp.log
ptp4l[186906.248]: selected local clock 5ecf89.fffe.ebf722 as best master
ptp4l[186906.248]: port 1: assuming the grand master role
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
Demo Configuration: TSN (finally)
QEMU VM
Core 0
OpenIL Linux RT KVM
OPC/UA
TSN
VxWorks
Unikernel
PubSub
Tx
Core 1 Core 2 Core 3
LS1046ARDB
i210
Core 0
OPC/UA
TSN
OpenIL Linux
PubSub Rx
Core 1
LS1028ARDB
eno0
TSN
https://github.com/open62541/open62541/tree/master/examples/pubsub_realtime/vxworks
Edge Node
Edge Device
PCI passthrough
192.168.10.46 192.168.10.28
QEMU
thread #1
QEMU
thread #n
-> tsnConfig("gei", 4, 0, 0, "/romfs/62541.json")
value = 0 = 0x0
-> open62541PubTSNStart("gei", 4, 0, 0, 1)
./tsnPerfLxRx -o "01:00:5E:00:00:01" -I "eno0" -v 3000 -n 1 2>&1 | tee
tsnPerfLxRx.log
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
DEMO – Results
2
0
2
1
W
I
N
D
R
I
V
E
R
,
A
L
L
R
I
G
H
T
S
R
E
S
E
R
V
E
D
▪ The Edge needs determinism, TSN,
WTSN, and 5G
▪ The Edge requires real-time and
virtualization
▪ A careful configuration of the edge
system including TSN is needed to
fulfill real-time requirements
▪ VxWorks is a good candidate as a
guest OS at the edge, providing
necessary real-time features,
unikernel, and TSN protocols support
DEMO – Conclusion VM
Edge Real-time Control
VxWorks
TSN
OPC/UA
VM
Linux
OPC/UA
ML MW
Edge Virtualization
VxWorks
OPC/UA
Sensing Actuation
TSN
Control ML Apps
Real-time device
TSN
TSN apps running on VxWorks RTOS as a KVM guest at the intelligent edge

More Related Content

What's hot

Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)
HungWei Chiu
 
001 linux revision
001 linux revision001 linux revision
001 linux revisionSherif Mousa
 
OpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-ServiceOpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-Service
Ramon Acedo Rodriguez
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
TamalBanerjee16
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
ITz_1
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitchSim Janghoon
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
Shay Cohen
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Joe Huang
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
EastBanc Tachnologies
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
Kumar Y
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 
ansible why ?
ansible why ?ansible why ?
ansible why ?
Yashar Esmaildokht
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
Stefano Stabellini
 
containerd the universal container runtime
containerd the universal container runtimecontainerd the universal container runtime
containerd the universal container runtime
Docker, Inc.
 
DevOps with Ansible
DevOps with AnsibleDevOps with Ansible
DevOps with Ansible
Swapnil Jain
 
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
Stefano Stabellini
 
Openstack Instance Resize
Openstack Instance ResizeOpenstack Instance Resize
Openstack Instance Resize
ymtech
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
Sparkbit
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
Krishna-Kumar
 

What's hot (20)

Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)
 
001 linux revision
001 linux revision001 linux revision
001 linux revision
 
OpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-ServiceOpenStack Ironic - Bare Metal-as-a-Service
OpenStack Ironic - Bare Metal-as-a-Service
 
01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx01. Kubernetes-PPT.pptx
01. Kubernetes-PPT.pptx
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
 
Virtualized network with openvswitch
Virtualized network with openvswitchVirtualized network with openvswitch
Virtualized network with openvswitch
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
ansible why ?
ansible why ?ansible why ?
ansible why ?
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
 
containerd the universal container runtime
containerd the universal container runtimecontainerd the universal container runtime
containerd the universal container runtime
 
DevOps with Ansible
DevOps with AnsibleDevOps with Ansible
DevOps with Ansible
 
Qemu
QemuQemu
Qemu
 
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
 
Openstack Instance Resize
Openstack Instance ResizeOpenstack Instance Resize
Openstack Instance Resize
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
 
Evolution of containers to kubernetes
Evolution of containers to kubernetesEvolution of containers to kubernetes
Evolution of containers to kubernetes
 

Similar to TSN apps running on VxWorks RTOS as a KVM guest at the intelligent edge

Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
rkr10
 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Jérôme Petazzoni
 
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQDocker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Jérôme Petazzoni
 
Fedora Virtualization Day: Linux Containers & CRIU
Fedora Virtualization Day: Linux Containers & CRIUFedora Virtualization Day: Linux Containers & CRIU
Fedora Virtualization Day: Linux Containers & CRIUAndrey Vagin
 
2. Vagin. Linux containers. June 01, 2013
2. Vagin. Linux containers. June 01, 20132. Vagin. Linux containers. June 01, 2013
2. Vagin. Linux containers. June 01, 2013
ru-fedora-moscow-2013
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOS
ICS
 
App container rkt
App container rktApp container rkt
App container rkt
Xiaofeng Guo
 
Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1
Yongyoon Shin
 
OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH
호용 류
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
Jérôme Petazzoni
 
Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)
Jérôme Petazzoni
 
See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...
LinuxCon ContainerCon CloudOpen China
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
dotCloud
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Docker, Inc.
 
Talk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopTalk 160920 @ Cat System Workshop
Talk 160920 @ Cat System Workshop
Quey-Liang Kao
 
OpenStack Meetup - SDN
OpenStack Meetup - SDNOpenStack Meetup - SDN
OpenStack Meetup - SDN
Szilvia Racz
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
Andriy Berestovskyy
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVM
DevOps.com
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld
 
Tech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateTech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product Update
AdaCore
 

Similar to TSN apps running on VxWorks RTOS as a KVM guest at the intelligent edge (20)

Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9
 
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQDocker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
Docker Introduction, and what's new in 0.9 — Docker Palo Alto at RelateIQ
 
Fedora Virtualization Day: Linux Containers & CRIU
Fedora Virtualization Day: Linux Containers & CRIUFedora Virtualization Day: Linux Containers & CRIU
Fedora Virtualization Day: Linux Containers & CRIU
 
2. Vagin. Linux containers. June 01, 2013
2. Vagin. Linux containers. June 01, 20132. Vagin. Linux containers. June 01, 2013
2. Vagin. Linux containers. June 01, 2013
 
Introduction to FreeRTOS
Introduction to FreeRTOSIntroduction to FreeRTOS
Introduction to FreeRTOS
 
App container rkt
App container rktApp container rkt
App container rkt
 
Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1Harmonia open iris_basic_v0.1
Harmonia open iris_basic_v0.1
 
OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH OCP Engineering Workshop at UNH
OCP Engineering Workshop at UNH
 
Docker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12XDocker and Containers for Development and Deployment — SCALE12X
Docker and Containers for Development and Deployment — SCALE12X
 
Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)Introduction to Docker (as presented at December 2013 Global Hackathon)
Introduction to Docker (as presented at December 2013 Global Hackathon)
 
See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...See what happened with real time kvm when building real time cloud pezhang@re...
See what happened with real time kvm when building real time cloud pezhang@re...
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
 
Talk 160920 @ Cat System Workshop
Talk 160920 @ Cat System WorkshopTalk 160920 @ Cat System Workshop
Talk 160920 @ Cat System Workshop
 
OpenStack Meetup - SDN
OpenStack Meetup - SDNOpenStack Meetup - SDN
OpenStack Meetup - SDN
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
 
Achieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVMAchieving the Ultimate Performance with KVM
Achieving the Ultimate Performance with KVM
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep Dive
 
Tech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product UpdateTech Days 2015: Embedded Product Update
Tech Days 2015: Embedded Product Update
 

More from Andrei Kholodnyi

How to cross compile ROS2 distro by taken VxWorks RTOS as an example
How to cross compile ROS2 distro by taken VxWorks RTOS as an exampleHow to cross compile ROS2 distro by taken VxWorks RTOS as an example
How to cross compile ROS2 distro by taken VxWorks RTOS as an example
Andrei Kholodnyi
 
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorTurtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Andrei Kholodnyi
 
ROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River LabsROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River Labs
Andrei Kholodnyi
 
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOSROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
Andrei Kholodnyi
 
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...
Andrei Kholodnyi
 
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Andrei Kholodnyi
 
Autonomous driving end-to-end security architecture
Autonomous driving end-to-end security architectureAutonomous driving end-to-end security architecture
Autonomous driving end-to-end security architecture
Andrei Kholodnyi
 

More from Andrei Kholodnyi (7)

How to cross compile ROS2 distro by taken VxWorks RTOS as an example
How to cross compile ROS2 distro by taken VxWorks RTOS as an exampleHow to cross compile ROS2 distro by taken VxWorks RTOS as an example
How to cross compile ROS2 distro by taken VxWorks RTOS as an example
 
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on HypervisorTurtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
Turtlebot3: VxWorks running ROS2 as a real-time guest OS on Hypervisor
 
ROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River LabsROS2 on VxWorks - one project on Wind River Labs
ROS2 on VxWorks - one project on Wind River Labs
 
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOSROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
ROS2 on VxWorks - Challenges in porting a modern, software framework to RTOS
 
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...
Mixed-critical adaptive AUTOSAR stack based on VxWorks, Linux, and virtualiza...
 
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
Developing safety autonomous driving solutions based on the adaptive AUTOSAR ...
 
Autonomous driving end-to-end security architecture
Autonomous driving end-to-end security architectureAutonomous driving end-to-end security architecture
Autonomous driving end-to-end security architecture
 

Recently uploaded

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 

Recently uploaded (20)

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 

TSN apps running on VxWorks RTOS as a KVM guest at the intelligent edge

  • 1. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D Andrei Kholodnyi https://github.com/razr https://discourse.ros.org/u/razr https://www.linkedin.com/in/akholodnyi/ T e c h n o l o g y O f f i c e TSN apps running on VxWorks RTOS as a KVM guest at the intelligent edge
  • 2. Agenda 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D Why a separation of control from sensor and actuation functionality is important for the intelligent edge solution 1 Why TSN and RTOS are essential parts of the intelligent edge story. 2 How to properly configure TSN, Linux and VxWorks KVM guest to run a OPC/UA TSN example 3
  • 3. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D EDGE – WHY DO WE NEED TSN AND REAL-TIME? Edge Cloud Devices Customer premises Access network ~2 ms <5 ms 1-3 ms Edge compute ~5-20 ms 0-25 km 25-100 km Centralized Data Center 100s-1000s km
  • 4. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D Edge use case : decoupling control from sensing and actuation VM Real-time Control VxWorks OPC/UA Sensing Control Actuation Edge Real-time Control VxWorks TSN OPC/UA VM Linux OPC/UA ML MW Edge Virtualization VxWorks OPC/UA Sensing Actuation TSN Control ML Apps Real-time device TSN
  • 5. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D Demo Configuration: Edge real time control QEMU VM Core 0 OpenIL Linux RT KVM OPC/UA TSN VxWorks Unikernel PubSub Tx Core 1 Core 2 Core 3 LS1046ARDB i210 Core 0 OPC/UA TSN OpenIL Linux PubSub Rx Core 1 LS1028ARDB eno0 TSN Linux Apps https://github.com/open62541/open62541/tree/master/examples/pubsub_realtime/vxworks Edge Node Edge Device PCI passthrough 192.168.10.46 192.168.10.28
  • 6. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D • Virtualization • Linux host • QEMU • Real-time guest OS • PCI pass-through • i210 card passed through to the guest DEMO – Virtualization QEMU VM Core 0 OpenIL Linux RT KVM OPC/UA TSN VxWorks Unikernel PubSub Tx Core 1 Core 2 Core 3 LS1046ARDB i210 Linux Apps Edge Node dev=0001:01:00.0 echo $dev > /sys/bus/pci/devices/$dev/driver/unbind echo vfio-pci > /sys/bus/pci/devices/$dev/driver_override echo $dev > /sys/bus/pci/drivers/vfio-pci/bind ~# lspci -k 0001:01:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03) Subsystem: Intel Corporation Ethernet Server Adapter I210-T1 Kernel driver in use: vfio-pci
  • 7. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D • VxWorks kernel library • librsl.a • UP mode • Real-time kernel application • tsnperf DEMO – Real-time unikernel Core 0 OPC/UA TSN VxWorks Unikernel PubSub Tx Core 1 Core 2 Core 3 LS1046ARDB i210 Linux Apps Edge Node $ cat ~/stash/projects/TO/rsl_apps/tsnperf/Makefile APP = tsnPerf all: $(APP) $(APP): $(APP).o main.o Makefile $(RSL_SDK)/krnl/librsl.a rsl build $(APP).o main.o -o $(APP) What is VxWorks? • it is a proprietary hard real-time OS, POSIX PSE52 • 64 bits on ARM, Intel, MIPS, PowerPC, and RISC-V • Kernel and user space separation, user space optional • C/C++17, possible to develop kernel C++ modules and user apps, and recently Rust and Python • Safety certifiable: DO-178, ISO 26262, IEC 61508 • Toolchain LLVM 11, Dinkumware C/C++ libs • Proprietary build system. CMake, autotools support for apps, e.g. ROS2 • Kernel shell • Eclipse, and Visual Studio Code - modern IDEs, Windows/Linux hosts
  • 8. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D ▪ Isolate CPU 2 and 3 to run QEMU rcu_nocbs=2,3 nohz_full=2,3 isolcpus=2,3 irqaffinity=0,1 audit=0 watchdog=0 skew_tick=1 ▪ No CPU frequency scaling ▪ Other settings DEMO – RT_PREEMPT QEMU VM Core 0 OpenIL Linux RT KVM OPC/UA TSN VxWorks Unikernel PubSub Tx Core 1 Core 2 Core 3 LS1046ARDB i210 Linux Apps Edge Node CONFIG_NO_HZ_FULL=y CONFIG_HIGH_RES_TIMERS=y CONFIG_PREEMPT_RT=y CONFIG_HZ_1000=y # CONFIG_CPU_FREQ is not set
  • 9. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D ▪ taskset -c 2 /* run on CPU2 */ ▪ -enable-kvm /* no emulation */ ▪ -smp 1 /* one CPU only */ ▪ -nic none /* no nic */ ▪ -name debug-threads=on /* name threads */ ▪ -device vfio-pci,host=$dev /* passthrough */ DEMO – QEMU QEMU VM Core 0 OpenIL Linux RT KVM OPC/UA TSN VxWorks Unikernel PubSub Tx Core 1 Core 2 Core 3 LS1046ARDB i210 Edge Node taskset -c 2 /work/qemu/installArm/bin/qemu-system-aarch64 -cpu host -enable-kvm -smp 1 -name debug-threads=on -nic none -machine type=virt,gic-version=host -nographic -m 256 -overcommit mem- lock=on -append "fs(0,0)host:vxWorks h=192.168.10.28 e=192.168.10.46 u=user pw=invalid f=0x01 o=gei0" -kernel /root/tsnPerf -device vfio-pci,host=$dev
  • 10. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D ▪ Move vCore process to the CPU 3 ▪ Let other QEMU threads on the CPU 2 DEMO – pin vCore to pCore QEMU VM Core 0 OpenIL Linux RT KVM OPC/UA TSN VxWorks Unikernel PubSub Tx Core 1 Core 2 Core 3 LS1046ARDB i210 Edge Node QEMU_PID=`pidof qemu-system-aarch64` user@LS1046ARDB-Ubuntu:~$ pstree -t $QEMU_PID qemu-system-aar─┬─{CPU 0/KVM} ├─{qemu-system-aar} └─{signalfd_compat} VCPU_PID=`ps -aL |grep -E "(kvm-vcpu|CPU.*KVM)"|awk '{print $2}’ VCPU_CORE=3 taskset -c -p $VCPU_CORE $VCPU_PID QEMU thread #1 QEMU thread #n
  • 11. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D -> ptpdAdd "gei0", 2, 2, 1, 0, 254, 0, 1 -> ptpdStart -> ptpdStatusShow "gei0" Interface name : gei0 Now in state : PTP_SLAVE Demo Configuration: PTP QEMU VM Core 0 OpenIL Linux RT KVM PTP slave VxWorks Unikernel Core 1 Core 2 Core 3 LS1046ARDB i210 Core 0 PTP master OpenIL Linux Core 1 LS1028ARDB eno0 PTP https://github.com/open62541/open62541/tree/master/examples/pubsub_realtime/vxworks Edge Node PCI passthrough 192.168.10.46 192.168.10.28 Edge Device sudo daemonize -E BUILD_ID=dontKillMe -o /var/log/ptp4l.log -e /var/log/ptp4l.err.log /usr/bin/taskset -c 1 chrt 90 /usr/sbin/ptp4l -i eno0 -2 -mq -f /etc/ptp4l_cfg/gPTP.cfg --step_threshold=1 --fault_reset_interval=0 --announceReceiptTimeout=10 --transportSpecific=1 root@LS1028ARDB-Ubuntu:~# tail -f /var/log/ptp.log ptp4l[186906.248]: selected local clock 5ecf89.fffe.ebf722 as best master ptp4l[186906.248]: port 1: assuming the grand master role
  • 12. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D Demo Configuration: TSN (finally) QEMU VM Core 0 OpenIL Linux RT KVM OPC/UA TSN VxWorks Unikernel PubSub Tx Core 1 Core 2 Core 3 LS1046ARDB i210 Core 0 OPC/UA TSN OpenIL Linux PubSub Rx Core 1 LS1028ARDB eno0 TSN https://github.com/open62541/open62541/tree/master/examples/pubsub_realtime/vxworks Edge Node Edge Device PCI passthrough 192.168.10.46 192.168.10.28 QEMU thread #1 QEMU thread #n -> tsnConfig("gei", 4, 0, 0, "/romfs/62541.json") value = 0 = 0x0 -> open62541PubTSNStart("gei", 4, 0, 0, 1) ./tsnPerfLxRx -o "01:00:5E:00:00:01" -I "eno0" -v 3000 -n 1 2>&1 | tee tsnPerfLxRx.log
  • 14. 2 0 2 1 W I N D R I V E R , A L L R I G H T S R E S E R V E D ▪ The Edge needs determinism, TSN, WTSN, and 5G ▪ The Edge requires real-time and virtualization ▪ A careful configuration of the edge system including TSN is needed to fulfill real-time requirements ▪ VxWorks is a good candidate as a guest OS at the edge, providing necessary real-time features, unikernel, and TSN protocols support DEMO – Conclusion VM Edge Real-time Control VxWorks TSN OPC/UA VM Linux OPC/UA ML MW Edge Virtualization VxWorks OPC/UA Sensing Actuation TSN Control ML Apps Real-time device TSN