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

Read more

Summary

INTRODUCTION

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

REAL-TIME MODEL AND PERFORMANCE METRIC
EXPERIMENTAL REAL-TIME ENVIRONMENT
STATISTICAL SELECTION METHOD
EFFECTS OF INTERFERING LOAD AND FEASIBILITY ANALYSIS
Findings
CONCLUSION AND DISCUSSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call