Synchronisation et Autonomie énergétique des Systèmes temps réel embarqués - Archive ouverte HAL Access content directly
Habilitation À Diriger Des Recherches Year : 2021

Synchronisation et Autonomie énergétique des Systèmes temps réel embarqués

Synchronisation et Autonomie énergétique des Systèmes temps réel embarqués

Abstract

The work presented in this document addresses two main research concerns: (i) the synchronization of multicore real-time applications, and (ii) the energy autonomy of embedded real-time systems. These problems are approached from a scheduling point of view by taking into account several types of constraints: temporal constraints, resource sharing constraints, quality of service (QoS) constraints, and energy constraints. Efficiently managing concurrent memory access in a multicore real-time context is complex. Systematic locking can reduce the parallelism of the execution platform and thus lead to a significant performance loss. Based on this observation, we have studied the adaptation of transactional memories (non-blocking synchronization mechanisms) to multicore real-time systems. Through an experimental study, we compared the performance of several transactional memories in order to determine the key factors (e.g. operating system, scheduling policy, memory allocator) impacting the execution jitter of transactions, jitter that can directly impact the respect of the temporal constraints of tasks in a real-time system. We then proposed a hard real-time software transactional memory, called STM-HRT, which guarantees the progress of all transactions in the system. A functional and temporal analysis of the STM-HRT allowed us to validate the proposed non-blocking synchronization mechanism. New generation embedded systems such as wireless sensor nodes have been proliferating in recent years. For many of these systems, energy autonomy is a key issue. The technology of energy harvesting, which consists of capturing energy from the environment to power a system, makes it possible in particular to provide these resource-constrained embedded systems with the capacity for energy self-sufficiency. The intelligence embedded in these systems has very often real-time requirements in terms of software processing. It is then necessary to guarantee the perpetual operation of the system by jointly managing two types of constraints: time and energy. This is precisely the purpose of our contributions on this topic, by considering the problem from the point of view of the scheduling of tasks on the processor. We first highlighted the inefficiency of “classical” real-time schedulers such as EDF, which are unable to cope with fluctuations in the supply energy. However, we have shown that it remains the best non-idling scheduler in the context of energy harvesting and that it is the best choice of integration for a system that cannot have a predictive estimate of the exploitable energy. Our work then consisted in identifying some key properties of a scheduler in the energy harvesting context. Then, we contributed to the problem of the feasibility of a set hard real-time tasks in this same context, by proposing a new test which is robust with respect to the power of the energy source. The contributions presented right after aim at providing solutions adapted to situations of transient processing and/or energy consumption overload that a system may suffer from. Based on a new task model integrating QoS constraints, we have proposed new schedulers controlling in particular the number and identity of task jobs skipped in case of overload. Finally, we proposed a necessary feasibility test integrating both QoS and energy constraints.
Les travaux présentés dans ce document s’articulent selon deux axes de recherche principaux : (i) la synchronisation d’applications temps réel multicœur, et (ii) l’autonomie énergétique des systèmes temps réel embarqués. Ces problématiques sont abordées du point de vue de l’ordonnancement en prenant en compte plusieurs types de contraintes : des contraintes temporelles, des contraintes de partage de ressources, des contraintes de qualité de service (QoS), et des contraintes d’énergie. Gérer efficacement les accès concurrents à la mémoire dans un contexte temps réel multicœur se révèle complexe. Le verrouillage systématique peut réduire le parallélisme de la plate-forme d’exécution et engendrer par là-même une baisse significative des performances. Forts de ce constat, nous avons donc étudié l’adaptation des mémoires transactionnelles (mécanismes de synchronisation non-bloquant) aux systèmes temps réel multicœur. Au travers d’une étude expérimentale, nous avons comparé les performances de plusieurs mémoires transactionnelles afin de déterminer les facteurs clés (ex : système d’exploitation, politique d’ordonnancement, allocateur mémoire) influant sur la gigue d’exécution des transactions, gigue pouvant impacter directement le respect des contraintes temporelles des tâches dans un système temps réel. Nous avons ensuite proposé une mémoire transactionnelle logicielle temps réel hard, la STM-HRT, permettant de garantir la progression de toutes les transactions du système. Une analyse fonctionnelle et temporelle de la STM-HRT nous a permis de valider le mécanisme de synchronisation non bloquant proposé. Les systèmes embarqués de nouvelle génération tels que les nœuds de capteurs sans fil se sont multipliés ces dernières années. Pour nombre de ces systèmes, l’autonomie énergétique est une problématique capitale. La technologie du energy harvesting consistant à capter l’énergie dans l’environnement pour alimenter un système, permet en particulier de doter ces systèmes embarqués aux ressources contraintes, d’une capacité d’autosuffisance énergétique. L’informatique “intelligente” embarquée au sein de ces systèmes possède très souvent des exigences temps réel au niveau des traitements logiciels. Il convient alors de garantir le fonctionnement perpétuel du système en gérant conjointement deux types de contraintes : le temps et l’énergie. C’est précisément l’objet de nos contributions sur cette thématique, en considérant le problème du point de vue de l’ordonnancement des tâches applicatives sur le processeur. Nous avons tout d’abord mis en évidence l’inefficacité des ordonnanceurs temps réel “classiques” tels que EDF, incapable à s’accommoder des fluctuations de l’énergie d’alimentation. Nous avons cependant montré qu’il reste le meilleur ordonnanceur non-oisif dans le contexte du energy harvesting et qu’il constitue le meilleur choix d’intégration pour un système ne pouvant disposer d’une estimation prédictive de l’énergie exploitable. Nos travaux ont ensuite consisté en l’identification de quelques-unes propriétés clés d’un ordonnanceur dans le contexte du energy harvesting. Puis, nous avons contribué au problème de la faisabilité d’un ensemble de tâches temps réel à contraintes strictes dans ce même contexte, par la proposition d’un nouveau test, robuste vis-à-vis de la puissance de la source d’énergie. Les contributions présentées par la suite visent à apporter des solutions adaptées aux situations de surcharge temporaire de traitement et/ou de consommation énergétique dont un système peut souffrir. Sur la base d’un nouveau modèle de tâches intégrant des contraintes de QoS, nous avons proposé de nouveaux ordonnanceurs contrôlant notamment le nombre et l’identité des jobs de tâches abandonnés en cas de surcharge. Nous avons enfin proposé un test de faisabilité nécessaire intégrant conjointement les contraintes de QoS et d’énergie.
Fichier principal
Vignette du fichier
ManuscritHDR-AudreyQUEUDET-final.pdf (1.91 Mo) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

tel-03562847 , version 1 (09-02-2022)

Licence

Copyright

Identifiers

  • HAL Id : tel-03562847 , version 1

Cite

Audrey Queudet. Synchronisation et Autonomie énergétique des Systèmes temps réel embarqués. Système d'exploitation [cs.OS]. Université de Nantes, 2021. ⟨tel-03562847⟩
133 View
102 Download

Share

Gmail Facebook X LinkedIn More