Edoardo Barbieri
on 1 August 2023
Reducing latency in industrial systems with Real-time Ubuntu on Intel SoCs
Delivering a comprehensive real-time solution for industrial systems requires careful work at every layer of the stack. Since standalone hardware or software components are not sufficient, Canonical and Intel have joined forces to deliver an out-of-the-box real-time solution. This solution is now generally available on Intel Core processors.
In this blog, we will delve deeper into how this combined Intel and Canonical stack delivers enterprise-grade performance for the time-bound workloads of industrial systems. The technologies we integrate with are Intel® Time Coordinated Computing (Intel® TCC) and IEEE 802.1 Time Sensitive Networking (TSN).
At the end of this article, we will introduce a scalable testbed to emulate a real-world industrial usage scenario, using Real-time Ubuntu and Intel’s technologies.
Launch silicon-optimised Real-time Ubuntu on industrial systems
Canonical and Intel’s integrated approach offers a pre-integrated stack with enabled and supported technologies, ensuring ease of use for developers. With the addition of TCC and TSN, enterprises can achieve enhanced performance, time synchronisation, and temporal isolation at the silicon layer.
You can deploy Real-time Ubuntu on Intel processors via Ubuntu Pro:
pro attach <token>
pro enable realtime-kernel --variant intel-iotg
Optimised Real-time Ubuntu on Intel hardware meets stringent release criteria, having undergone extensive manual, automated and stress testing. Dedicated teams at Canonical will continue testing the images end-to-end with the support of Intel engineers, executing rigorous management of all Linux kernel CVEs, and reviewing and applying all relevant patches. With long-term support and security maintenance, customers can enjoy extended product availability and reliability for their embedded Linux deployments in large-scale production environments.
Empowering industrial systems with Intel® TCC, TSN and Real-time Ubuntu
TSN primarily focuses on the network space, ensuring that time-sensitive applications and workloads receive the necessary processing and network priorities. On the other hand, Intel® TCC is the equivalent solution designed specifically for Intel System-on-Chips (SoCs). It optimises the entire SoC to deliver the time-sensitive and deterministic needs of real-time workloads.
Intel’s TSN and TCC capabilities are at the forefront of real-time systems with cutting-edge features and optimisations that help address challenges that are unique to industrial systems. For instance, by enabling deterministic and low-latency communication over Ethernet, TSN ensures real-time data exchange between various components. Sensor readings and control signals can be prioritised and delivered with minimal delay, allowing coordination and the smooth functioning of production processes in a factory environment.
Furthermore, mixed-criticality systems are common in industrial settings, where different applications can have varying levels of criticality. Whereas some tasks might be safety-critical, others could be more time-flexible.
With time awareness and traffic shaping, TSN allows you to segregate the various data stream types from the factory floor based on their priority levels. Similarly, Intel® TCC enhances the security of such mixed-criticality systems by providing hardware-based protection and isolation, shielding critical operations from potential security threats.
In the following two subsections, we will delve deeper into the two technologies.
Deterministic and Time-sensitive Networking
An integral part of industrial systems’ real-time capabilities is the connection to the network. TSN provides a network infrastructure capable of supporting both general workloads and real-time demands with deterministic and time-sensitive characteristics.
To achieve this, time synchronisation is crucial, ensuring that different network nodes are properly synchronised. Similarly, timeliness in terms of workload and data scheduling is essential. By providing time synchronisation across the network, traffic shaping, and continuous availability, optimised Real-time Ubuntu support for TSN on Intel platforms ensures the uninterrupted and reliable operation of real-time workloads.
Timeliness and Temporal Isolation
Intel® TCC encompasses a comprehensive set of optimisations throughout the entire SoC to ensure real-time workloads are processed correctly.
Intel® TCC helps meet the stringent requirements of real-time workloads while concurrently running multiple workloads on the same SoC, offering an efficient and isolated environment. Intel® TCC includes cache and memory optimisations to allocate adequate resources, manage interrupt priorities, and synchronise various clocks throughout the SoC. Furthermore, it enables temporal isolation, protecting real-time applications from the impact of other processes and events within the system.
By allocating sufficient cache and memory resources, and with TCC’s temporal isolation and time synchronisation, Intel SoCs running Real-time Ubuntu are well-equipped to handle industrial systems’ stringent real-time requirements.
Emulating industrial systems with Real-time Ubuntu on Intel SoCs
Intel and Canonical collaborated to prepare a scalable testbed to emulate a real-world industrial usage scenario, using Real-time Ubuntu and Intel’s technologies. The demo showcases a servo controlled by an industrial-grade PC and a display showing what’s happening on the machine.
The primary controller (Kontron KBox C-103-BB-TGL with Intel® Core) emulates a workload consolidation scenario with both best-effort and real-time workloads. The real-time workload calculates motor parameters in defined cycle time and publishes them via OPC UA pub/sub over TSN. Best-effort workloads like graphic rendering on a UI run on all cores. The field controller (Cyclone® V SOC Dev Kit Intel® SOC FPGA Embedded Development Suite ) controls the motor based on the parameters from the primary controller acquired over TSN.
Without real-time optimisations in the system, best-effort workloads could interfere with real-time workloads and may lead to missed deadlines and non-deterministic motor stepping.
Canonical and Intel’s joint solution, on the other hand, increases the temporal isolation between best effort and real-time workloads by applying Intel® TCC features (e.g. TCC BIOS Option, and Cache QoS), and real-time Linux kernel configuration guidance to guarantee high determinism and controlled motor stepping.
In the webinar above, you can see that as soon as the CPU is getting more utilisation, more traffic and coordination are needed. Intel® TCC on the hardware enables the isolation of real-time workloads in multiple ways. For instance, Intel® TCC ensures a predictable response time by isolating the cache access, or the execution from non-real-time workloads.
The test demonstrates real-world mixed-criticality real-time scenarios. By enabling Real-time Ubuntu and isolating the workloads through Intel’s TCC features, enterprises can get predictable results for industrial-grade use cases.
Further Reading
Learn more about the basics of real-time compute in our blog series.