8/6/2023 0 Comments Ubuntu grep command examples![]() One can monitor by, for instance, watching the interrupts at /proc/interrupts via the watch command as per: watch -n1 -d "cat /proc/interrupts" Typical tools to capture system resource statistics which are useful for tuning are ps, perf, irqtop, stress-ng, Cyclictest, irqstat, dstat, and watch_interupts. Jitter is the difference between average and max latency over time. ![]() When tuning, one must ensure the real-time system can process threads and processes within the maximum latency measured during each task period or the real-time application lifetime. For instance, if the maximum latency for an airbag is 10 μs, any reaction time higher than the specified upper boundary results in system failure. A preemptive kernel aims to provide a deterministic response time to service events, with system failure in case of missed deadlines regardless of the system load. The maximum latency is the key metric, and it is fundamental to know its value before running in production. The three primary metrics to monitor when tuning a real-time kernel are jitter, average latency and max latency. ![]() The real-time developers architecting the overall hardware and software system are responsible for end-application tuning and optimisation of individual drivers for specific workloads.Įach layer must prioritise real-time workloads and allocate resources to deliver the low-latencies and tight time synchronisation needed to support deterministic workloads. Only the engineering team developing a real-time stack controls the deployment environment and can decide on the best tuning configuration options. Rather than recommended configurations leading to optimal performance, they are intended as starting points for a subsequent, iterative tuning process. What follows are considerations that may prove helpful in some real-time environments. Setting up a real-time configuration to meet stringent low-latency requirements takes careful understanding and tuning. From networking to cache partitioning, every shared resource can affect cycle times and be a source of jitter. Real-time Ubuntu does not guarantee a maximum latency as performance strictly depends on the system at hand. Specific tuning for each use case is required, and an optimal combination of tuning configs for one particular hardware platform may still lead to poor results in a different environment. A real-time kernel on its own will not necessarily make a system real-time, as even the most efficient Real Time Operating System (RTOS) can be useless in the presence of other latency sinks. ![]() From the hardware to the kernel, and finally through to the application, every level can be a source of latency. Tuning a real-time kernel is a complex endeavour, as each layer of a real-time stack must support deterministic processing. Once you launch a real-time kernel, you can start tuning. To access real-time Ubuntu on Intel SoCs, Ubuntu Pro is also the way to go: pro attach pro enable realtime-kernel -access-only apt install ubuntu-intel-iot-realtime ![]() Optimised real-time Ubuntu on 12th Gen Intel® Core™ processors, currently in beta, delivers low latency for time-sensitive workloads in industrial settings. Moreover, Canonical offers specialised versions of the real-time kernel. With an Ubuntu Pro subscription, launching the kernel becomes a simple process: pro attach pro enable realtime-kernel Launching the real-time kernelĬanonical’s real-time kernel can be accessed through Ubuntu Pro, an extensive enterprise security and compliance subscription (free for personal and small-scale commercial use on up to 5 machines). Alternatively, keep reading to learn the three primary metrics to monitor when tuning a real-time kernel, some key configs set at compile time, and a tuning example.īefore tuning, let’s launch the real-time Ubuntu kernel. If you are interested in the primary test suites for real-time Ubuntu, an explanation of the components and processes involved, head over to the first part of this mini-series. If you are starting from scratch and need to revisit the basics of preemption and a real-time system, watch this introductory webinar. You will need to be familiar with a real-time kernel to understand the tuning concepts in this blog. This blog expands our technical deep-dive into a real-time kernel. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |