A comparison between Linux approaches for soft real-time applications

Citation Author(s):
Maíra
Canal
Henrique
Borges Garcia
Glauco
Caurin
Submitted by:
Maira Canal
Last updated:
Fri, 04/07/2023 - 16:52
DOI:
10.21227/d571-r617
Data Format:
License:
0
0 ratings - Please login to submit your rating.

Abstract 

The growth of the use of the Linux operating system in embedded systems projects brings to the spotlight essential questions about the capabilities of this operating system in real-time systems, in particular, soft real-time systems. In this context, the quantitative analysis of Linux-based embedded systems is the focus of this paper, which includes the evaluation of the latency time, jitter, and worst-case response time. Therefore, using a signal generator, a logic analyzer, and a single-board computer, this paper implements a computational routine that interfaces with the General Purpose Input/Output (GPIO) of the embedded system, replying to the stimuli generated by the signal generator. These routines were implemented in User Space and Kernel Space on a Linux-based distribution and, also, for PREEMPT\_RT and Xenomai real-time patches. The result is a holistic comparison between those Linux approaches showing that, although Xenomai outperformed the others and can be applied for hard real-time applications, all the analyzed approaches can be applied for soft real-time applications depending on the project requirements and development constraints.

Instructions: 

The dataset is the product of a system with a signal generator and a Beaglebone Black. The signal generator outputs a square wave at a given frequency, which is the digital input of a GPIO port of the Beaglebone Black. The Beaglebone Black replicates the signal in another GPIO port. The Beaglebone Black uses different Linux approaches to replicate the signal and the goal of this research is to compare the approaches. The signals were captured by the Digilent Digital Discovery hardware. The dataset shows the logic state of the input and output GPIO port at a given time and the title of the CSV file indicates the input frequency. In possession of this dataset, it is possible to obtain latency and jitter information of the system under test and analyse the real-time behavior of the embedded system.

A script is available on GitHub to calculate the latency and jitter of the system out of a given CSV file.

Funding Agency: 
Fundação de Amparo à Pesquisa do Estado de São Paulo
Grant Number: 
2021/11704-5