|9:00 – 9:30||Opening Talk “Real-time Linux: what is, what is not and what is next!|
|Daniel Bristot de Oliveira, Red Hat.|
|9:30 – 10:15||Real-time Linux in Financial Markets|
|Adrien Mahieux, Orness.|
|10:15 – 10:30||Pause|
|10:30 – 11:15||Supporting Real-Time Hardware Acceleration on Dynamically Reconfigurable|
|Marco Pagani, Scuola Superiore Sant’Anna – Université de Lille.|
|11:15 – 12:00||Real-time usage in the BeagleBone community|
|Drew Fustini, BeagleBoard.org Foundation.|
|12:00 – 13:30||Lunch Pause|
|13:30 – 14:15||Maintaining out of tree patches over the long term|
|Daniel Wagner, SUSE.|
|14:15 – 15:00||Synthetic events and basic histograms|
|Steven Rostedt, VMware.|
|15:00 – 15:15||Pause|
|15:15 – 16:00||State of the PREEMPT_RT|
|Sebastian Andrzej Siewior, Linutronix GmbH.|
|16:00 – 16:45||PREEMPT RT is Upstream! Q&A Session|
|Thomas Gleixner, Linutronix GmbH.|
|16:45 – 17:00||Closing|
Real-time Linux – What is, what is not and what is next.
Daniel Bristot de Oliveira, Red Hat
This talk is a reflexion about the current state of the Real-time Linux, regarding the kind of determinism that is possible to obtain with Linux, and the kind of determinism that is still not possible to achieve. Knowing what is not possible is not a bad thing – rather, it opens the possibilities for the next opportunities in the development of Real-time Linux.
Daniel is a Principal Software Engineer at Red Hat, working in the real-time kernel team. He is also a researcher in the Retis Lab at the Scuola Superiore Sant’Anna (Pisa – Italy). He works in the research and development of new real-time features and runtime formal verification methods for the Linux kernel.
Real-time Linux in Financial Markets
Adrien Mahieux, Orness
Provide an insight into how Linux Realtime is used, and demystify some ideas about electronic finance. Introduction to finance and stock markets:
– What’s a stock exchange
– What strategies
– Current Status of the markets
Why RT is needed (5min)
– HFT is not what you think: front-running, moving orders
– Usage from the market: gateway & matching engine
– Usage from the client: fight against front-running
Challenges & Tools (10min)
– Work with newer hardware (processor, NICs, FPGA)
– Very custom hardware on x86 systems
– kthread stalls (rcu, rt_mutex), kernel bypass, interrupt silencing, and help from Redhat kernel engineers
– Measurements: rt_test, sys_jitter, netdata, pcm.
Before the internet was a worldwide public standard, he used to organize LAN Parties: ephemeral infrastructures for hundreds of players. Every available resource was scarce and optimized. Now in this era of opulence, he helps companies in this search of parsimony through analysis and optimization of their whole stack. This is useful for HPC (throughput) and HFT (latency).
Supporting Real-Time Hardware Acceleration on Dynamically Reconfigurable SoC FPGAs
Marco Pagani, Scuola Superiore Sant’Anna – Université de Lille
SoCs including multiple CPU tightly coupled with FPGA fabric, like the Xilinx’s Zynq and Zynq UltraScale, are popular for developing high-performance applications like computer vision and signal processing. On these platforms, software activities can be accelerated using custom hardware accelerators. Nowadays, dynamic partial reconfiguration allows virtualizing the FPGA resources to host, in time-sharing, more hardware accelerators than what statically possible. However, without a proper scheduling policy, FPGA reconfiguration may introduce unbounded delays unsuitable for real-time applications like autonomous vehicles. This talk presents FRED, a Linux based framework that enables real-time scheduling of hardware accelerators on the FPGA fabric. FRED exploits dynamic partial reconfiguration and recurrent execution to virtualize the FPGA fabric at production time in a predictable fashion.
Marco Pagani received his M.Sc. degree in Embedded Computing Systems cum Laude in 2016 jointly from Scuola Superiore Sant’Anna and the University of Pisa. He is currently pursuing the Ph.D. degree in Emerging Digital Technologies at Scuola Superiore Sant’Anna and Université de Lille. His main research interests are software support for real-time applications on heterogeneous computing platforms, real-time hardware acceleration, and real-time operating systems for embedded platforms.
Real-time usage in the BeagleBone community
Drew Fustini, BeagleBoard.org Foundation
Many open-source hardware projects have been produced by the BeagleBone community that have real-time requirements. These include motion control for CNC, laser cutting, and 3d printing. Other projects include autopilots, low latency audio processing, driving large LED displays, and high-speed data acquisition. I’ll provide a look at projects like MachineKit (LinuxCNC fork) which migrating from Xenomai from PREEMPT_RT Kernel.
Drew Fustini is an Open Source Hardware designer at OSH Park, board member of the BeagleBoard Foundation, vice president of the Open Source Hardware Association, and maintainer of the Adafruit BeagleBone Python library
Maintaining out of tree patches over the long term
Daniel Wagner, SUSE
The PREEMPT_RT patchset is the longest existing large patchset living outside the Linux kernel. Over the years, the realtime developers had to maintain several stable kernel versions of the patchset. This talk will present the lessons learned from this experience, including workflow, tooling and release management that has proven over time to scale. The workflow deals with upstream changes and changes to the patchset itself. Now that the PREEMPT_RT patchset is about the be merged upstream, we want to share our toolset and methods with others who may be able to benefit from our experience. This talk is for people who want to maintain an external patchset with stable releases.
Daniel Wagner is a stable-rt tree maintainer and contributor to various upstream projects (preempt_rt, ConnMan, FFADO,…)
Synthetic events and basic histograms
Steven Rostedt, VMware
Synthetic events were introduced in 4.17 which allow for passing data from one trace event to another and using it to calculate deltas between fields and time stamps. This allows a user to create their own custom latency histograms or other data. In 5.0, easier access to arguments was added to kprobes. The combination allows for extracting data from the kernel and using it as part of the synthetic events and histogram logic. This talk will describe what is in the kernel today and some features that are coming in userspace tools that will make this easier to work with.
Steven Rostedt currently works for VMware in their Open Source Technology Center. He’s the maintainer of the stable releases for the Real-Time patch (PREEMPT_RT). He is also one of the original developers for the Real-Time patch. Steven is the main developer and maintainer for ftrace, the official tracer of the Linux kernel, as well as the userspace tools trace-cmd and kernelshark. He also develops ktest.pl (in the kernel) and make localmodconfig.
State of the PREEMPT_RT
Sebastian Andrzej Siewior, Linutronix GmbH.
The RT patch is maintained for a long time. More and more bits and pieces were merged in the upstream kernel and were removed from the RT patch since. As a result of this, the RT queue got more and more RT specific and it was harder to argue that the non-RT benefits from the change. In v5.3 upstream, the CONFIG_PREEMPT_RT option finally appeared. This talk shows what big changes occurred in the recent release and what is planned for the feature.
Sebastian maintains the PREEMPT_RT patch since around v3.8 and contributes to the upstream kernel by posting patches from the RT queue which are beneficial to the kernel without the RT patch.