When integrating hard, soft and non-real-time tasks in general purpose operating systems, it is necessary to provide temporal isolation so that the timing properties of one task do not depend on the behaviour of the others. Hierarchical scheduling is a promising methodology for providing temporal isolation and for enabling component-based design and analyis. This thesis describes the implementation, within the Linux kernel, of a multiprocessor bandwidth reservation mechanism for groups of real-time tasks, based on the SCHED_DEADLINE scheduling class. It then describes two reclaiming algorithms implementations for efficient use of the computational resources in the presence of tasks with variable workload. Response time analysis (RTA) is one of the fundamental tools to study the schedulability of real-time tasks on multiprocessors, and several methods inspired by RTA have been successfully developed to address more sophisticated execution platforms and application models. The major issue with RTA is its time complexity, which is NP-hard. This thesis presents polynomial and pseudo-polynomial time schedulability tests, based on RTA, for determining whether a set of sporadic DAG-tasks with arbitrary deadlines can be scheduled by G-EDF or G-DM on a platform consisting of m identical processor. It also presents a new response time upper bound for tasks scheduled by fixed priorities, and investigates its tightness properties. Concurrency can be a contentious topic when developing efficient, low-level synchronisation primitives and scheduling algorithms in the Linux kernel. The Linux kernel mailing list features numerous discussions related to consistency models, including those of the more than 30 CPU architectures supported by the kernel and that of the kernel itself. A formal model can help address such issues, by allowing programmers to experiment with the model and develop their intuition. This thesis offers a model of Linux-kernel memory ordering written in the Cat language, making it not only formal, but also executable by the Herd simulator. It also formalises the fundamental law of the Read-Copy-Update synchronisation mechanism.

Resource Reservation and Memory Ordering in the Linux Kernel

2018

Abstract

When integrating hard, soft and non-real-time tasks in general purpose operating systems, it is necessary to provide temporal isolation so that the timing properties of one task do not depend on the behaviour of the others. Hierarchical scheduling is a promising methodology for providing temporal isolation and for enabling component-based design and analyis. This thesis describes the implementation, within the Linux kernel, of a multiprocessor bandwidth reservation mechanism for groups of real-time tasks, based on the SCHED_DEADLINE scheduling class. It then describes two reclaiming algorithms implementations for efficient use of the computational resources in the presence of tasks with variable workload. Response time analysis (RTA) is one of the fundamental tools to study the schedulability of real-time tasks on multiprocessors, and several methods inspired by RTA have been successfully developed to address more sophisticated execution platforms and application models. The major issue with RTA is its time complexity, which is NP-hard. This thesis presents polynomial and pseudo-polynomial time schedulability tests, based on RTA, for determining whether a set of sporadic DAG-tasks with arbitrary deadlines can be scheduled by G-EDF or G-DM on a platform consisting of m identical processor. It also presents a new response time upper bound for tasks scheduled by fixed priorities, and investigates its tightness properties. Concurrency can be a contentious topic when developing efficient, low-level synchronisation primitives and scheduling algorithms in the Linux kernel. The Linux kernel mailing list features numerous discussions related to consistency models, including those of the more than 30 CPU architectures supported by the kernel and that of the kernel itself. A formal model can help address such issues, by allowing programmers to experiment with the model and develop their intuition. This thesis offers a model of Linux-kernel memory ordering written in the Cat language, making it not only formal, but also executable by the Herd simulator. It also formalises the fundamental law of the Read-Copy-Update synchronisation mechanism.
19-mar-2018
Italiano
MARINONI, MAURO
LIPARI, GIUSEPPE
CUCINOTTA, TOMMASO
Scuola Superiore di Studi Universitari e Perfezionamento "S. Anna" di Pisa
File in questo prodotto:
File Dimensione Formato  
DTA_thesis_Parri.pdf

Open Access dal 16/03/2021

Tipologia: Altro materiale allegato
Dimensione 1.23 MB
Formato Adobe PDF
1.23 MB Adobe PDF Visualizza/Apri
frontespizio.pdf

Open Access dal 16/03/2021

Tipologia: Altro materiale allegato
Dimensione 222.88 kB
Formato Adobe PDF
222.88 kB Adobe PDF Visualizza/Apri

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14242/147399
Il codice NBN di questa tesi è URN:NBN:IT:SSSUP-147399