Ordonnancement de chaînes de tâches communicantes

Poitou Charentes, Poitiers (86000) - Référence : ordo_chaine_tache_com
Mis en ligne le 16 octobre 2017 par Mickael Baron (+ d'offres)
Type de contrat :Stage
Métier :Chercheur en informatique
Type d'entreprise :Autre type d'entreprise (client final)
Localisation :Poitou Charentes, Poitiers (86000)
Salaire :6 600 €/an
Télétravail :Pas de télétravail
Compétences requises :C++, Programmation Temps Réel

LIAS - ISAE / ENSMA

Site Web : www.lias-lab.fr

Envoyer une candidature

Poste à pourvoir

Les systèmes autonomes de l’aéronautique et de l’automobile (satellites, voitures, etc.) sont munis de capteurs et d’actionneurs. Ils collectent des informations depuis leur environnent via ces capteurs (position GPS par ex.) en entrée, calculent des lois de contrôle-commande et modifient le comportement des actionneurs en sortie (une gouverne par ex.). Les logiciels temps réel pilotant ces appareils sont composés de tâches (processus ou threads) qui s’activent périodiquement. Ils sont chargés de réaliser ces différents traitements et d’acheminer les résultats produits, des entrées jusqu’aux sorties des appareils pilotés.

Ces tâches temps réel communiquent donc entre-elles, formant des chaînes de tâches. Ces tâches pouvant avoir des fréquences d’activation différentes, il n’est pas trivial de calculer le temps écoulé entre le moment ou une information est captée dans l’environnement et le moment où un ordre est transmis à l’actionneur en sortie. Ce type de délai est appelé latence et les concepteurs de logiciels embarqués doivent déterminer sa durée maximum afin d’assurer la stabilité et la sécurité des appareils pilotés. Il est également souvent question de minimiser ces latences pour améliorer la réactivé des appareils.

Pendant l’exécution du système, l’ordre d’exécution des tâches temps réel est appelé ordonnancement. Il détermine à chaque instant quelle tâche doit s’exécuter en priorité par rapport aux autres. Ces choix sont déterminants et ils ont un impact fort sur les délais de latence induits. Néanmoins, ils sont souvent déterminés selon d’autres critères (fréquences d’activation, échéances relatives, etc. ) en négligeant l’impact sur ces délais de latence.

L’objectif de ce stage est d’étudier l’impact de l’assignation des priorités des tâches sur ces contraintes de latence. Une méthode de calcul des latences maximales a déjà été mise au point et implantée dans le langage Python. Le stagiaire pourra donc utiliser/étendre ce prototype dans le but d’étudier les effets des choix de priorités sur les contraintes de latence en sortie.

Le travail à réaliser est :

- Conduire une étude bibliographique sur l’ordonnancement temps réel et l’assignation de priorités sur les tâches communicantes, en particulier sur le modèle utilisé
- Étudier en pratique l’impact de l’assignation de priorités sur les contraintes de latence et les comparer avec les méthodes traditionnelles
- Proposer une méthode d’assignation de priorité permettant de minimiser globalement les latences et l’implanter, possiblement dans le prototype Python existant.

Profil recherché

Master 2 Informatique

Description de la société

Le LIAS (Laboratoire d'Informatique et d'Automatique pour les Systèmes) représente 35 enseignants chercheurs issus des sections CNU 27, 61 et 63 dans les disciplines de l’Automatique, du Génie électrique et de l’Informatique. Il a été créé depuis le 1er janvier 2012, suite à la fusion des laboratoires du LAII (Laboratoire d'Automatique et d'Informatique Industrielle) et du LISI (Laboratoire d'Informatique Scientifique et Industrielle).

Bien qu'ancré dans la communauté STIC pour les aspects fondamentaux, le LIAS, par ses applications, est naturellement ouvert au secteur SPI. Que ce soit sur les nouveaux modes de propulsion, sur la gestion d’énergie, sur le traitement des eaux, sur la modélisation informatique des systèmes complexes ou sur l’optimisation des systèmes temps réel, les complémentarités disciplinaires de l’Automatique, du Génie Electrique et de l’Informatique doivent apporter une plus-value au traitement de ces applications qui relèvent toutes de l’ingénierie.
Contacter le responsable de la rubrique Emploi informatique et développeurs