Abstract
Multicore processors are gaining popularity in various domains because of their potential for maximizing system throughput of average-case tasks. In real-time systems, where processes and tasks are governed by stringent temporal constraints, the worst-case timings should be considered, and migration to multicore processors leads to additional difficulties. Resource sharing between the cores introduces timing overheads, which affect the worst-case timings and schedulability of the entire system. In this article, we provide new insights into the performance of the real-time extensions of Linux, namely, Xenomai and RT-Preempt, for a homogeneous multicore processor. First, complete details on leveraging both real-time extensions are presented. We identify various multicore deployments and discuss their trade-offs, as established through the experimental evaluation of the scheduling latency. Then, we propose a statistical method based on a variation of chi-square test to determine the best multicore deployment. The unexpected effects of interfering loads, such as CPU, memory, and network operations, on the real-time performance, are considered. Feasibility of the best multicore deployment is verified through the analysis of its periodicity and deterministic response times in a pre-emptive multitasking environment. This research is the first of its kind and will serve as a useful guideline for developing real-time applications on multicore processors.
Highlights
Integration of multicore processors has become common in general computing and in various embedded applications, which includes robotics, control systems, and automotive [1]–[3]
Both real-time Linux extensions are based on fixed priority scheduling; we evaluate task response times using rate-monotonic analysis (RMA) [37]
We provide the complete details on leveraging each real-time extension on an Intel-based multicore embedded system considering the necessary Linux kernel configuration
Summary
Integration of multicore processors has become common in general computing and in various embedded applications, which includes robotics, control systems, and automotive [1]–[3]. Loadable kernel modules such as RESECH [27] and ExSched [28] eliminate the need of modifying the kernel code, while offering a similar environment with LITMUSRT These projects have allowed observing the performance of various real-time multicore scheduling algorithms in Linux; their high runtime overheads result to unpredictable behavior which render them unfit for practical real-time applications [21], [29]. After the best multicore deployment has been identified for each real-time extension, the real-time performance under the effects of interfering loads and its feasibility in a multitasking environment are analyzed to build confidence on the suitability of multicore processors for practical real-time applications In this regard, the main contributions of this work are to: VOLUME 8, 2020. To the best of our knowledge, this study is the first of its kind and will serve as a useful guideline for developing real-time applications on multicore processors
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.