Time-based Distributed Scheduling of Tasks in Embedded Linux Environment

OData support
Dr. Kovácsházy Tamás
Department of Measurement and Information Systems

Investigating the modern worldwide technological trends, we can say, that due to the development of technology and the decreasing price of computing power more and more electrical devices are used, that can communicate and exchange data with each other. These equipment are generally connected to a bigger network forming distributed systems consisting of many different nodes. Often these devices connect to the Internet too (this is the base of the IoT), taking advantage in the form of remote connection, data transfer, remote data storage. Due to the connected nature, it is an important question, what kind of interface and protocol is used for this purpose. General requirements are, that it has to be flexible, it should enable the transfer of many different types of content (real-time control messages, audio/video data or common bulk file transfer), which have led to the creation of the Time Sensitive Networking, that is able to handle normal and time-critical messages together on a simple Ethernet network. One of the crucial components of the TSN is the clock synchronization, which makes it possible for different applications to safely perform real-time data exchange. Currently, the IEEE 802.1AS-REV and the IEEE 1588 standards define the necessary protocols that can solve this task on an Ethernet network with optional hardware support. After ensuring the clock synchronization between the nodes the next step is to solve the time-based task scheduling, for which the used platform and the software have to be known. In my thesis related to this topic, I examine what possibilities exist to perform time-related tasks on Linux operating system running on embedded devices, and what kind of results and difficulties can be expected in such systems. First I introduce the above-mentioned clock synchronization standard, its implementation under Linux, the used hardware platform (BeagleBone Black), and the relevant parts and features of the Linux kernel. After that, I summarize the shortcomings of the used hardware (PPS signal generation, timestamping of external events), and present my suggestions to these problems. Next, I examine what kind of methods exist to improve the real-time capability of the normal kernel and show their results I have measured during tests. I also suggest a custom method for static time-based task scheduling, and finally demonstrate the usage of the clock synchronization in a simple demo application.


Please sign in to download the files of this thesis.